From c488e8de62943a66b6a50086f04f540123d5eb4b Mon Sep 17 00:00:00 2001 From: Simon Ebner Date: Wed, 5 May 2021 14:24:27 +0200 Subject: [PATCH] "merged" admin-guide --- _toc.yml | 18 +- admin-guide/Makefile | 153 ++ admin-guide/_static/Shell Style Guide.html | 1282 +++++++++++++++++ .../selinux-coloring-book_A4-Stapled.pdf | Bin 0 -> 1421120 bytes admin-guide/architecture.rst | 19 + .../architecture/accounts-and-groups.rst | 132 ++ admin-guide/architecture/active-directory.rst | 46 + .../authentication-authorization.rst | 17 + admin-guide/architecture/certificates.rst | 5 + admin-guide/architecture/networking.rst | 100 ++ admin-guide/architecture/overview.rst | 60 + admin-guide/architecture/security.rst | 35 + .../architecture/services-cron-etc.rst | 35 + admin-guide/architecture/version-control.rst | 66 + admin-guide/conf.py | 242 ++++ admin-guide/deployment.rst | 25 + admin-guide/deployment/infrastructure.rst | 94 ++ admin-guide/deployment/ipxe.rst | 61 + admin-guide/deployment/kickstart.rst | 11 + admin-guide/deployment/partitioning.rst | 30 + admin-guide/deployment/sample.rst | 60 + admin-guide/deployment/workflow.rst | 165 +++ admin-guide/guidelines.rst | 70 + admin-guide/guidelines/conventions.rst | 52 + admin-guide/index.rst | 34 + admin-guide/legacy.rst | 20 + admin-guide/legacy/communication.rst | 48 + admin-guide/legacy/installation.rst | 65 + admin-guide/legacy/misc.rst | 37 + .../afstowindowsloginchangeinsl4andsl5.rst | 199 +++ .../legacy/misc/configureldaponpsipuppet3.rst | 110 ++ ...teanewkickstartinstallationforfedora10.rst | 119 ++ .../legacy/misc/disklessclientsl60.rst | 54 + admin-guide/legacy/misc/dkmsbasics.rst | 396 +++++ .../legacy/misc/firefoxpreferenceshowto.rst | 4 + .../legacy/misc/howto-start-vncserver.rst | 18 + .../legacy/misc/howtoeditinstallimg.rst | 20 + .../misc/kernelmodulee1000eupdateforsl5.1.rst | 864 +++++++++++ ...owto-rpm-updatepsi-desktoppackageonsl5.rst | 236 +++ ...wto-sl5-nvidiadriverinstallationupdate.rst | 452 ++++++ ...pcidevicesandcorrespondingmodulesinsl5.rst | 131 ++ .../legacy/misc/linuxloginclusters.rst | 26 + .../legacy/misc/loadbalancerllclb1.rst | 533 +++++++ .../misc/nxserverclientinstallation.rst | 164 +++ .../legacy/misc/prepareanewslrelease.rst | 162 +++ .../legacy/misc/projectpsi-puppet1.rst | 1070 ++++++++++++++ .../legacy/misc/psi-puppet2_installation.rst | 609 ++++++++ .../misc/puppet-trouble-shooting-in-twiki.rst | 145 ++ .../legacy/misc/puppetmanifestsforsl53.rst | 98 ++ admin-guide/legacy/misc/puppetmasteratpsi.rst | 76 + .../legacy/misc/release_snapshotssl53.rst | 188 +++ admin-guide/legacy/misc/repairrpmdb.rst | 21 + .../misc/sap_client_for_linux_howto.rst | 120 ++ admin-guide/legacy/misc/updatesl57.rst | 282 ++++ admin-guide/legacy/misc/updateslmaindoc.rst | 1275 ++++++++++++++++ admin-guide/legacy/misc/vpnclientlinux.rst | 46 + admin-guide/legacy/monitoring.rst | 34 + admin-guide/legacy/puppet.rst | 8 + admin-guide/legacy/services.rst | 19 + admin-guide/legacy/software.rst | 10 + admin-guide/legacy/software/modules.rst | 26 + admin-guide/legacy/software/packaging.rst | 35 + admin-guide/legacy/software/repositories.rst | 245 ++++ admin-guide/legacy/storage.rst | 10 + admin-guide/make.bat | 190 +++ admin-guide/mgmt-tools.rst | 10 + admin-guide/mgmt-tools/bob.rst | 99 ++ admin-guide/mgmt-tools/puppetdb.rst | 52 + admin-guide/mgmt-tools/sphinx.rst | 40 + admin-guide/mgmt-tools/sysdb.rst | 20 + admin-guide/more.rst | 8 + admin-guide/more/network.rst | 9 + admin-guide/operations.rst | 9 + admin-guide/operations/certificates.rst | 68 + admin-guide/operations/deployment.rst | 41 + admin-guide/operations/version-control.rst | 85 ++ admin-guide/puppet.rst | 16 + admin-guide/puppet/client.rst | 33 + admin-guide/puppet/components/grub2.rst | 20 + admin-guide/puppet/components/logrotate.rst | 156 ++ admin-guide/puppet/components/selinux.rst | 43 + admin-guide/puppet/components/sudo.rst | 24 + admin-guide/puppet/components/sysctl.rst | 18 + admin-guide/puppet/components/systemd.rst | 77 + admin-guide/puppet/components/updatedb.rst | 24 + admin-guide/puppet/components/utils.rst | 32 + admin-guide/puppet/development.rst | 52 + admin-guide/puppet/general.rst | 96 ++ admin-guide/puppet/hiera.rst | 201 +++ admin-guide/puppet/modules.rst | 259 ++++ admin-guide/puppet/profiles/aaa.rst | 336 +++++ admin-guide/puppet/profiles/afs_client.rst | 51 + admin-guide/puppet/profiles/autofs.rst | 23 + admin-guide/puppet/profiles/custom_timers.rst | 40 + admin-guide/puppet/profiles/epics.rst | 20 + admin-guide/puppet/profiles/filecopy.rst | 37 + admin-guide/puppet/profiles/files.rst | 27 + .../puppet/profiles/ganglia_client.rst | 36 + .../puppet/profiles/ganglia_server.rst | 104 ++ admin-guide/puppet/profiles/gnome.rst | 46 + admin-guide/puppet/profiles/gpfs.rst | 91 ++ admin-guide/puppet/profiles/grafana.rst | 65 + admin-guide/puppet/profiles/icewm.rst | 15 + .../puppet/profiles/icinga/checks/gpfs.rst | 41 + .../profiles/icinga/checks/hp/smart_array.rst | 29 + .../puppet/profiles/icinga/checks/nvidia.rst | 31 + .../profiles/icinga/checks/puppet_client.rst | 33 + .../puppet/profiles/icinga/checks/service.rst | 35 + .../puppet/profiles/icinga/checks/slurm.rst | 87 ++ admin-guide/puppet/profiles/icinga/client.rst | 56 + admin-guide/puppet/profiles/icinga/nrpe.rst | 55 + admin-guide/puppet/profiles/infiniband.rst | 53 + admin-guide/puppet/profiles/jupyterhub.rst | 138 ++ admin-guide/puppet/profiles/kdump_client.rst | 42 + .../puppet/profiles/local_accounts.rst | 99 ++ admin-guide/puppet/profiles/log_client.rst | 91 ++ admin-guide/puppet/profiles/log_server.rst | 25 + .../puppet/profiles/mkresource/files.rst | 107 ++ admin-guide/puppet/profiles/mounter.rst | 191 +++ admin-guide/puppet/profiles/mta.rst | 16 + admin-guide/puppet/profiles/multipath.rst | 147 ++ admin-guide/puppet/profiles/networking.rst | 65 + admin-guide/puppet/profiles/nfs_server.rst | 68 + admin-guide/puppet/profiles/nomachine.rst | 45 + .../puppet/profiles/nomachine/desktop.rst | 55 + .../puppet/profiles/nomachine/license.rst | 45 + .../puppet/profiles/nomachine/repository.rst | 20 + .../puppet/profiles/nomachine/service.rst | 20 + .../puppet/profiles/nomachine/terminal.rst | 56 + .../puppet/profiles/nomachine/workstation.rst | 56 + admin-guide/puppet/profiles/ntp_client.rst | 32 + admin-guide/puppet/profiles/nvidia.rst | 40 + admin-guide/puppet/profiles/platform.rst | 47 + .../profiles/platform/hewlett_packard.rst | 24 + admin-guide/puppet/profiles/pmodules.rst | 54 + admin-guide/puppet/profiles/print_client.rst | 29 + admin-guide/puppet/profiles/puppet_client.rst | 23 + .../puppet/profiles/serial_console.rst | 27 + admin-guide/puppet/profiles/ssh_client.rst | 38 + admin-guide/puppet/profiles/ssh_server.rst | 42 + admin-guide/puppet/profiles/sysinfo.rst | 10 + admin-guide/puppet/profiles/telegraf.rst | 58 + admin-guide/puppet/profiles/web_server.rst | 49 + admin-guide/puppet/profiles/yum_client.rst | 55 + admin-guide/puppet/puppet-master.rst | 37 + admin-guide/puppet/puppet_workflow.jpg | Bin 0 -> 37498 bytes admin-guide/puppet/roles/base.rst | 264 ++++ admin-guide/puppet/roles/bootpc.rst | 16 + admin-guide/puppet/roles/console.rst | 82 ++ admin-guide/puppet/roles/daq_buffer.rst | 17 + admin-guide/puppet/roles/dcache_t3_pools.rst | 4 + admin-guide/puppet/roles/desktop.rst | 28 + admin-guide/puppet/roles/ganglia_server.rst | 5 + admin-guide/puppet/roles/grafana.rst | 6 + admin-guide/puppet/roles/hpc/ces.rst | 2 + admin-guide/puppet/roles/hpc/cn.rst | 20 + admin-guide/puppet/roles/hpc/database.rst | 4 + admin-guide/puppet/roles/hpc/server.rst | 64 + admin-guide/puppet/roles/hpc/ui.rst | 20 + admin-guide/puppet/roles/influxdb.rst | 5 + admin-guide/puppet/roles/jupyterserver.rst | 5 + admin-guide/puppet/roles/log_server.rst | 5 + admin-guide/puppet/roles/login_server.rst | 5 + admin-guide/puppet/roles/media_station.rst | 6 + admin-guide/puppet/roles/nomachine_proxy.rst | 34 + admin-guide/puppet/roles/reverse_proxy.rst | 55 + admin-guide/puppet/roles/server.rst | 5 + admin-guide/puppet/roles/slurm_client.rst | 4 + admin-guide/puppet/roles/slurm_compute.rst | 4 + admin-guide/puppet/roles/slurm_server.rst | 4 + admin-guide/puppet/roles/softioc.rst | 64 + admin-guide/puppet/roles/web_server.rst | 26 + admin-guide/puppet/roles/workstation.rst | 103 ++ admin-guide/puppet/roles/zookeeper.rst | 30 + admin-guide/selinux.rst | 150 ++ admin-guide/software.rst | 94 ++ admin-guide/software/updates.rst | 70 + admin-guide/third-party.rst | 22 + admin-guide/troubleshooting.rst | 9 + admin-guide/troubleshooting/deployment.rst | 91 ++ admin-guide/troubleshooting/login.rst | 28 + .../troubleshooting/methods-and-tools.rst | 269 ++++ 182 files changed, 17246 insertions(+), 5 deletions(-) create mode 100644 admin-guide/Makefile create mode 100644 admin-guide/_static/Shell Style Guide.html create mode 100644 admin-guide/_static/selinux-coloring-book_A4-Stapled.pdf create mode 100644 admin-guide/architecture.rst create mode 100644 admin-guide/architecture/accounts-and-groups.rst create mode 100644 admin-guide/architecture/active-directory.rst create mode 100644 admin-guide/architecture/authentication-authorization.rst create mode 100644 admin-guide/architecture/certificates.rst create mode 100644 admin-guide/architecture/networking.rst create mode 100644 admin-guide/architecture/overview.rst create mode 100644 admin-guide/architecture/security.rst create mode 100644 admin-guide/architecture/services-cron-etc.rst create mode 100644 admin-guide/architecture/version-control.rst create mode 100644 admin-guide/conf.py create mode 100644 admin-guide/deployment.rst create mode 100644 admin-guide/deployment/infrastructure.rst create mode 100644 admin-guide/deployment/ipxe.rst create mode 100644 admin-guide/deployment/kickstart.rst create mode 100644 admin-guide/deployment/partitioning.rst create mode 100644 admin-guide/deployment/sample.rst create mode 100644 admin-guide/deployment/workflow.rst create mode 100644 admin-guide/guidelines.rst create mode 100644 admin-guide/guidelines/conventions.rst create mode 100644 admin-guide/index.rst create mode 100644 admin-guide/legacy.rst create mode 100644 admin-guide/legacy/communication.rst create mode 100644 admin-guide/legacy/installation.rst create mode 100644 admin-guide/legacy/misc.rst create mode 100644 admin-guide/legacy/misc/afstowindowsloginchangeinsl4andsl5.rst create mode 100644 admin-guide/legacy/misc/configureldaponpsipuppet3.rst create mode 100644 admin-guide/legacy/misc/createanewkickstartinstallationforfedora10.rst create mode 100644 admin-guide/legacy/misc/disklessclientsl60.rst create mode 100644 admin-guide/legacy/misc/dkmsbasics.rst create mode 100644 admin-guide/legacy/misc/firefoxpreferenceshowto.rst create mode 100644 admin-guide/legacy/misc/howto-start-vncserver.rst create mode 100644 admin-guide/legacy/misc/howtoeditinstallimg.rst create mode 100644 admin-guide/legacy/misc/kernelmodulee1000eupdateforsl5.1.rst create mode 100644 admin-guide/legacy/misc/linuxhowto-rpm-updatepsi-desktoppackageonsl5.rst create mode 100644 admin-guide/legacy/misc/linuxhowto-sl5-nvidiadriverinstallationupdate.rst create mode 100644 admin-guide/legacy/misc/linuxhowtolookupforpcidevicesandcorrespondingmodulesinsl5.rst create mode 100644 admin-guide/legacy/misc/linuxloginclusters.rst create mode 100644 admin-guide/legacy/misc/loadbalancerllclb1.rst create mode 100644 admin-guide/legacy/misc/nxserverclientinstallation.rst create mode 100644 admin-guide/legacy/misc/prepareanewslrelease.rst create mode 100644 admin-guide/legacy/misc/projectpsi-puppet1.rst create mode 100644 admin-guide/legacy/misc/psi-puppet2_installation.rst create mode 100644 admin-guide/legacy/misc/puppet-trouble-shooting-in-twiki.rst create mode 100644 admin-guide/legacy/misc/puppetmanifestsforsl53.rst create mode 100644 admin-guide/legacy/misc/puppetmasteratpsi.rst create mode 100644 admin-guide/legacy/misc/release_snapshotssl53.rst create mode 100644 admin-guide/legacy/misc/repairrpmdb.rst create mode 100644 admin-guide/legacy/misc/sap_client_for_linux_howto.rst create mode 100644 admin-guide/legacy/misc/updatesl57.rst create mode 100644 admin-guide/legacy/misc/updateslmaindoc.rst create mode 100644 admin-guide/legacy/misc/vpnclientlinux.rst create mode 100644 admin-guide/legacy/monitoring.rst create mode 100644 admin-guide/legacy/puppet.rst create mode 100644 admin-guide/legacy/services.rst create mode 100644 admin-guide/legacy/software.rst create mode 100644 admin-guide/legacy/software/modules.rst create mode 100644 admin-guide/legacy/software/packaging.rst create mode 100644 admin-guide/legacy/software/repositories.rst create mode 100644 admin-guide/legacy/storage.rst create mode 100644 admin-guide/make.bat create mode 100644 admin-guide/mgmt-tools.rst create mode 100644 admin-guide/mgmt-tools/bob.rst create mode 100644 admin-guide/mgmt-tools/puppetdb.rst create mode 100644 admin-guide/mgmt-tools/sphinx.rst create mode 100644 admin-guide/mgmt-tools/sysdb.rst create mode 100644 admin-guide/more.rst create mode 100644 admin-guide/more/network.rst create mode 100644 admin-guide/operations.rst create mode 100644 admin-guide/operations/certificates.rst create mode 100644 admin-guide/operations/deployment.rst create mode 100644 admin-guide/operations/version-control.rst create mode 100644 admin-guide/puppet.rst create mode 100644 admin-guide/puppet/client.rst create mode 100644 admin-guide/puppet/components/grub2.rst create mode 100644 admin-guide/puppet/components/logrotate.rst create mode 100644 admin-guide/puppet/components/selinux.rst create mode 100644 admin-guide/puppet/components/sudo.rst create mode 100644 admin-guide/puppet/components/sysctl.rst create mode 100644 admin-guide/puppet/components/systemd.rst create mode 100644 admin-guide/puppet/components/updatedb.rst create mode 100644 admin-guide/puppet/components/utils.rst create mode 100644 admin-guide/puppet/development.rst create mode 100644 admin-guide/puppet/general.rst create mode 100644 admin-guide/puppet/hiera.rst create mode 100644 admin-guide/puppet/modules.rst create mode 100644 admin-guide/puppet/profiles/aaa.rst create mode 100644 admin-guide/puppet/profiles/afs_client.rst create mode 100644 admin-guide/puppet/profiles/autofs.rst create mode 100644 admin-guide/puppet/profiles/custom_timers.rst create mode 100644 admin-guide/puppet/profiles/epics.rst create mode 100644 admin-guide/puppet/profiles/filecopy.rst create mode 100644 admin-guide/puppet/profiles/files.rst create mode 100644 admin-guide/puppet/profiles/ganglia_client.rst create mode 100644 admin-guide/puppet/profiles/ganglia_server.rst create mode 100644 admin-guide/puppet/profiles/gnome.rst create mode 100644 admin-guide/puppet/profiles/gpfs.rst create mode 100644 admin-guide/puppet/profiles/grafana.rst create mode 100644 admin-guide/puppet/profiles/icewm.rst create mode 100644 admin-guide/puppet/profiles/icinga/checks/gpfs.rst create mode 100644 admin-guide/puppet/profiles/icinga/checks/hp/smart_array.rst create mode 100644 admin-guide/puppet/profiles/icinga/checks/nvidia.rst create mode 100644 admin-guide/puppet/profiles/icinga/checks/puppet_client.rst create mode 100644 admin-guide/puppet/profiles/icinga/checks/service.rst create mode 100644 admin-guide/puppet/profiles/icinga/checks/slurm.rst create mode 100644 admin-guide/puppet/profiles/icinga/client.rst create mode 100644 admin-guide/puppet/profiles/icinga/nrpe.rst create mode 100644 admin-guide/puppet/profiles/infiniband.rst create mode 100644 admin-guide/puppet/profiles/jupyterhub.rst create mode 100644 admin-guide/puppet/profiles/kdump_client.rst create mode 100644 admin-guide/puppet/profiles/local_accounts.rst create mode 100644 admin-guide/puppet/profiles/log_client.rst create mode 100644 admin-guide/puppet/profiles/log_server.rst create mode 100644 admin-guide/puppet/profiles/mkresource/files.rst create mode 100644 admin-guide/puppet/profiles/mounter.rst create mode 100644 admin-guide/puppet/profiles/mta.rst create mode 100644 admin-guide/puppet/profiles/multipath.rst create mode 100644 admin-guide/puppet/profiles/networking.rst create mode 100644 admin-guide/puppet/profiles/nfs_server.rst create mode 100644 admin-guide/puppet/profiles/nomachine.rst create mode 100644 admin-guide/puppet/profiles/nomachine/desktop.rst create mode 100644 admin-guide/puppet/profiles/nomachine/license.rst create mode 100644 admin-guide/puppet/profiles/nomachine/repository.rst create mode 100644 admin-guide/puppet/profiles/nomachine/service.rst create mode 100644 admin-guide/puppet/profiles/nomachine/terminal.rst create mode 100644 admin-guide/puppet/profiles/nomachine/workstation.rst create mode 100644 admin-guide/puppet/profiles/ntp_client.rst create mode 100644 admin-guide/puppet/profiles/nvidia.rst create mode 100644 admin-guide/puppet/profiles/platform.rst create mode 100644 admin-guide/puppet/profiles/platform/hewlett_packard.rst create mode 100644 admin-guide/puppet/profiles/pmodules.rst create mode 100644 admin-guide/puppet/profiles/print_client.rst create mode 100644 admin-guide/puppet/profiles/puppet_client.rst create mode 100644 admin-guide/puppet/profiles/serial_console.rst create mode 100644 admin-guide/puppet/profiles/ssh_client.rst create mode 100644 admin-guide/puppet/profiles/ssh_server.rst create mode 100644 admin-guide/puppet/profiles/sysinfo.rst create mode 100644 admin-guide/puppet/profiles/telegraf.rst create mode 100644 admin-guide/puppet/profiles/web_server.rst create mode 100644 admin-guide/puppet/profiles/yum_client.rst create mode 100644 admin-guide/puppet/puppet-master.rst create mode 100644 admin-guide/puppet/puppet_workflow.jpg create mode 100644 admin-guide/puppet/roles/base.rst create mode 100644 admin-guide/puppet/roles/bootpc.rst create mode 100644 admin-guide/puppet/roles/console.rst create mode 100644 admin-guide/puppet/roles/daq_buffer.rst create mode 100644 admin-guide/puppet/roles/dcache_t3_pools.rst create mode 100644 admin-guide/puppet/roles/desktop.rst create mode 100644 admin-guide/puppet/roles/ganglia_server.rst create mode 100644 admin-guide/puppet/roles/grafana.rst create mode 100644 admin-guide/puppet/roles/hpc/ces.rst create mode 100644 admin-guide/puppet/roles/hpc/cn.rst create mode 100644 admin-guide/puppet/roles/hpc/database.rst create mode 100644 admin-guide/puppet/roles/hpc/server.rst create mode 100644 admin-guide/puppet/roles/hpc/ui.rst create mode 100644 admin-guide/puppet/roles/influxdb.rst create mode 100644 admin-guide/puppet/roles/jupyterserver.rst create mode 100644 admin-guide/puppet/roles/log_server.rst create mode 100644 admin-guide/puppet/roles/login_server.rst create mode 100644 admin-guide/puppet/roles/media_station.rst create mode 100644 admin-guide/puppet/roles/nomachine_proxy.rst create mode 100644 admin-guide/puppet/roles/reverse_proxy.rst create mode 100644 admin-guide/puppet/roles/server.rst create mode 100644 admin-guide/puppet/roles/slurm_client.rst create mode 100644 admin-guide/puppet/roles/slurm_compute.rst create mode 100644 admin-guide/puppet/roles/slurm_server.rst create mode 100644 admin-guide/puppet/roles/softioc.rst create mode 100644 admin-guide/puppet/roles/web_server.rst create mode 100644 admin-guide/puppet/roles/workstation.rst create mode 100644 admin-guide/puppet/roles/zookeeper.rst create mode 100644 admin-guide/selinux.rst create mode 100644 admin-guide/software.rst create mode 100644 admin-guide/software/updates.rst create mode 100644 admin-guide/third-party.rst create mode 100644 admin-guide/troubleshooting.rst create mode 100644 admin-guide/troubleshooting/deployment.rst create mode 100644 admin-guide/troubleshooting/login.rst create mode 100644 admin-guide/troubleshooting/methods-and-tools.rst diff --git a/_toc.yml b/_toc.yml index b15bb8d6..a325deb1 100644 --- a/_toc.yml +++ b/_toc.yml @@ -1,9 +1,19 @@ # Table of content # Learn more at https://jupyterbook.org/customize/toc.html # -# - file: intro -# - file: user_guide -# sections: +- file: index +- file: admin-guide/architecture + sections: + - file: admin-guide/architecture/overview + - file: admin-guide/architecture/accounts-and-groups + - file: admin-guide/architecture/authentication-authorization + - file: admin-guide/architecture/networking + - file: admin-guide/architecture/services-cron-etc + - file: admin-guide/architecture/version-control + - file: admin-guide/architecture/security + - file: admin-guide/architecture/active-directory + - file: admin-guide/architecture/certificates + # - file: user_standard_infrastructure # - file: user_standard_directory_structure # - file: user_ioc_configuration_modules_drivers @@ -15,5 +25,3 @@ # sections: # - file: admin_standard_infrastructure # - file: admin_standard_directory_structure - -- file: index \ No newline at end of file diff --git a/admin-guide/Makefile b/admin-guide/Makefile new file mode 100644 index 00000000..2afc6eb6 --- /dev/null +++ b/admin-guide/Makefile @@ -0,0 +1,153 @@ +# Makefile for Sphinx documentation +# + +# You can set these variables from the command line. +SPHINXOPTS = +SPHINXBUILD = sphinx-build +PAPER = +BUILDDIR = _build + +# Internal variables. +PAPEROPT_a4 = -D latex_paper_size=a4 +PAPEROPT_letter = -D latex_paper_size=letter +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . +# the i18n builder cannot share the environment and doctrees with the others +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . + +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext + +help: + @echo "Please use \`make ' where is one of" + @echo " html to make standalone HTML files" + @echo " dirhtml to make HTML files named index.html in directories" + @echo " singlehtml to make a single large HTML file" + @echo " pickle to make pickle files" + @echo " json to make JSON files" + @echo " htmlhelp to make HTML files and a HTML help project" + @echo " qthelp to make HTML files and a qthelp project" + @echo " devhelp to make HTML files and a Devhelp project" + @echo " epub to make an epub" + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" + @echo " latexpdf to make LaTeX files and run them through pdflatex" + @echo " text to make text files" + @echo " man to make manual pages" + @echo " texinfo to make Texinfo files" + @echo " info to make Texinfo files and run them through makeinfo" + @echo " gettext to make PO message catalogs" + @echo " changes to make an overview of all changed/added/deprecated items" + @echo " linkcheck to check all external links for integrity" + @echo " doctest to run all doctests embedded in the documentation (if enabled)" + +clean: + -rm -rf $(BUILDDIR)/* + +html: + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." + +dirhtml: + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml + @echo + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." + +singlehtml: + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml + @echo + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." + +pickle: + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle + @echo + @echo "Build finished; now you can process the pickle files." + +json: + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json + @echo + @echo "Build finished; now you can process the JSON files." + +htmlhelp: + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp + @echo + @echo "Build finished; now you can run HTML Help Workshop with the" \ + ".hhp project file in $(BUILDDIR)/htmlhelp." + +qthelp: + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp + @echo + @echo "Build finished; now you can run "qcollectiongenerator" with the" \ + ".qhcp project file in $(BUILDDIR)/qthelp, like this:" + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/LinuxInfrastructure.qhcp" + @echo "To view the help file:" + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/LinuxInfrastructure.qhc" + +devhelp: + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp + @echo + @echo "Build finished." + @echo "To view the help file:" + @echo "# mkdir -p $$HOME/.local/share/devhelp/LinuxInfrastructure" + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/LinuxInfrastructure" + @echo "# devhelp" + +epub: + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub + @echo + @echo "Build finished. The epub file is in $(BUILDDIR)/epub." + +latex: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." + @echo "Run \`make' in that directory to run these through (pdf)latex" \ + "(use \`make latexpdf' here to do that automatically)." + +latexpdf: + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex + @echo "Running LaTeX files through pdflatex..." + $(MAKE) -C $(BUILDDIR)/latex all-pdf + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." + +text: + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text + @echo + @echo "Build finished. The text files are in $(BUILDDIR)/text." + +man: + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man + @echo + @echo "Build finished. The manual pages are in $(BUILDDIR)/man." + +texinfo: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." + @echo "Run \`make' in that directory to run these through makeinfo" \ + "(use \`make info' here to do that automatically)." + +info: + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo + @echo "Running Texinfo files through makeinfo..." + make -C $(BUILDDIR)/texinfo info + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." + +gettext: + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale + @echo + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." + +changes: + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes + @echo + @echo "The overview file is in $(BUILDDIR)/changes." + +linkcheck: + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck + @echo + @echo "Link check complete; look for any errors in the above output " \ + "or in $(BUILDDIR)/linkcheck/output.txt." + +doctest: + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest + @echo "Testing of doctests in the sources finished, look at the " \ + "results in $(BUILDDIR)/doctest/output.txt." diff --git a/admin-guide/_static/Shell Style Guide.html b/admin-guide/_static/Shell Style Guide.html new file mode 100644 index 00000000..2707ea85 --- /dev/null +++ b/admin-guide/_static/Shell Style Guide.html @@ -0,0 +1,1282 @@ +Shell Style Guide

Shell Style Guide

+ +

+ +Revision 1.26 +

+ + +
+ Paul Armstrong
+ Too many more to mention
+
+ +

+ Each style point has a summary for which additional information is available + by toggling the accompanying arrow button that looks this way: + . + You may toggle all summaries with the big arrow button: +

+ Toggle all summaries +
+ +

Background

+ + + +

Which Shell to Use

+ link + +
+ Bash is the only shell scripting language permitted for + executables. +
+
+
+ +

When to use Shell

+ link + +
+ Shell should only be used for small utilities or simple wrapper + scripts. +
+
+
+
+ + + +

Shell Files and Interpreter Invocation

+ +

File Extensions

+
+ Executables should have no extension (strongly preferred) or a + .sh extension. + Libraries must have a .sh extension and should not be + executable. +
+
+
+ +

SUID/SGID

+ link + +
+ SUID and SGID are forbidden on shell scripts. +
+
+
+ +
+ +

Environment

+ +

STDOUT vs STDERR

+ link + +
+ All error messages should go to STDERR. +
+
+
+ +
+ +

Comments

+ +

File Header

+ link + +
+ Start each file with a description of its contents. +
+
+
+ +

Function Comments

+ link + +
+ Any function that is not both obvious and short must be commented. Any + function in a library must be commented regardless of length or + complexity. +
+
+
+ +

Implementation Comments

+ link + +
+ Comment tricky, non-obvious, interesting or important parts of your code. +
+
+
+ +

TODO Comments

+ link + +
+ Use TODO comments for code that is temporary, a short-term solution, or + good-enough but not perfect. +
+
+
+ +
+ +

Formatting

+

+ While you should follow the style that's already there for files that + you're modifying, the following are required for any new code. +

+ +

Indentation

+ link + +
+ Indent 2 spaces. No tabs. +
+
+
+ +

Line Length and Long Strings

+
+ Maximum line length is 80 characters. +
+
+
+ +

Pipelines

+
+ Pipelines should be split one per line if they don't all fit on one line. +
+
+
+ +

Loops

+ link + +
+ Put ; do and ; then on the same line as the + while, for or if. +
+
+
+ +

Case statement

+ link + +
+
    +
  • + Indent alternatives by 2 spaces. +
  • +
  • + A one-line alternative needs a space after the close parenthesis of + the pattern and before the ;;. +
  • +
  • + Long or multi-command alternatives should be split over multiple + lines with the pattern, actions, and ;; on separate + lines. +
  • +
+
+
+
+ +

Variable expansion

+ link + +
+ In order of precedence: Stay consistent with what you find; + quote your variables; + prefer "${var}" over "$var", but see details. +
+
+
+ +

Quoting

+ link + +
+
    +
  • + Always quote strings containing variables, command substitutions, + spaces or shell meta characters, unless careful unquoted expansion + is required. +
  • +
  • + Prefer quoting strings that are "words" + (as opposed to command options or path names). +
  • +
  • + Never quote literal integers. +
  • +
  • + Be aware of the quoting rules for + pattern matches in [[. +
  • +
  • + Use "$@" unless you have a specific reason to use $*. +
  • +
+
+
+
+ +
+ +

Features and Bugs

+ +

Command Substitution

+ link + +
+ Use $(command) instead of backticks. +
+
+
+ +

Test, [ and [[

+ link + +
+ [[ ... ]] is preferred over [, + test and /usr/bin/[. +
+
+
+ +

Testing Strings

+ link + +
+ Use quotes rather than filler characters where possible. +
+
+
+ +

Wildcard Expansion of Filenames

+ link + +
+ Use an explicit path when doing wildcard expansion of filenames. +
+
+
+ +

Eval

+ link + +
+ eval should be avoided. +
+
+
+ +

Pipes to While

+ link + +
+ Use process substitution or for loops in preference to piping to while. + Variables modified in a while loop do not propagate to the parent + because the loop's commands run in a subshell. +
+
+

+ The implicit subshell in a pipe to while can make it difficult to track + down bugs. +

last_line='NULL'
+your_command | while read line; do
+  last_line="${line}"
+done
+
+# This will output 'NULL'
+echo "${last_line}"
+

+

+ Use a for loop if you are confident that the input will not contain + spaces or special characters (usually, this means not user input). +

total=0
+# Only do this if there are no spaces in return values.
+for value in $(command); do
+  total+="${value}"
+done
+

+

+ Using process substitution allows redirecting output but puts the + commands in an explicit subshell rather than the implicit subshell that + bash creates for the while loop. +

total=0
+last_file=
+while read count filename; do
+  total+="${count}"
+  last_file="${filename}"
+done < <(your_command | uniq -c)
+
+# This will output the second field of the last line of output from
+# the command.
+echo "Total = ${total}"
+echo "Last one = ${last_file}"
+

+

+ Use while loops where it is not necessary to pass complex results + to the parent shell - this is typically where some more complex + "parsing" is required. Beware that simple examples are probably + more easily done with a tool such as awk. This may also be useful + where you specifically don't want to change the parent scope variables. +

# Trivial implementation of awk expression:
+#   awk '$3 == "nfs" { print $2 " maps to " $1 }' /proc/mounts
+cat /proc/mounts | while read src dest type opts rest; do
+  if [[ ${type} == "nfs" ]]; then
+    echo "NFS ${dest} maps to ${src}"
+  fi
+done
+

+
+
+ +
+ +

Naming Conventions

+ +

Function Names

+ link + +
+ Lower-case, with underscores to separate words. Separate libraries + with ::. Parentheses are required after the function name. + The keyword function is optional, but must be used + consistently throughout a project. +
+
+
+ +

Variable Names

+ link + +
+ As for function names. +
+
+
+ +

Constants and Environment Variable Names

+ link + +
+ All caps, separated with underscores, declared at the top of the file. +
+
+
+ +

Source Filenames

+ link + +
+ Lowercase, with underscores to separate words if desired. +
+
+
+ +

Read-only Variables

+ link + +
+ Use readonly or declare -r to ensure they're + read only. +
+
+
+ +

Use Local Variables

+ link + +
+ Declare function-specific variables with local. Declaration + and assignment should be on different lines. +
+
+
+ +

Function Location

+ link + +
+ Put all functions together in the file just below constants. Don't hide + executable code between functions. +
+
+
+ +

main

+ link + +
+ A function called main is required for scripts long enough + to contain at least one other function. +
+
+
+ +
+ +

Calling Commands

+ +

Checking Return Values

+ link + +
+ Always check return values and give informative return values. +
+
+
+ +

Builtin Commands vs. External Commands

+ link + +
+ Given the choice between invoking a shell builtin and invoking a separate + process, choose the builtin. +
+
+
+ +
+ +

Conclusion

+

+ Use common sense and BE CONSISTENT. +

+

+ Please take a few minutes to read the Parting Words section at the bottom + of the C++ Guide. +

+
+ +

+Revision 1.26 +

+ + \ No newline at end of file diff --git a/admin-guide/_static/selinux-coloring-book_A4-Stapled.pdf b/admin-guide/_static/selinux-coloring-book_A4-Stapled.pdf new file mode 100644 index 0000000000000000000000000000000000000000..847143fe8dd034f308d3f7c0313879ff9fa296b9 GIT binary patch literal 1421120 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%0D-{~G#J`*V6{e&5 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

=tQ%LXB;?RYeGD7@_gw(u5gT+wIDX4*DIMdZB2c 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⪚t;07ZPB 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

g3D&Xw2R3!e$&eIOf&X42-4*FysQV4w=*Ww*lL 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�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®m_wB$>{VUc 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%0A};vBsn2r_lg45EIq`y{Cg$q{Vx0jCJ4SI4q5k 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±EUC5 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

#LfZJIQ!$SE2v>$X+ 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ϫzwTM? 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�jvh0J?jC35j`Z3N@MSHx27 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

-5kigZo(L4Y9&514R`GydvgI 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�Y4ITK6Ckxpwny;XErnG|F)2&W;k)z&I%# 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%0D$pA#Zt>TK*}>EL4T1e_3dpnBkhsMxF8Spv12 z0*l@)R(hYle@?-Bqkm2Ta7u-Q>^*>Pr(4+FIIp5>o!*6hfd^sGu1nT?}n3jRoz@ZA=M)&4djdBup*MEnMDh{7F@5(G(A$5s01z?(I5^(L{NoGbk+r6( zZ=|ApSmlGZ+dX!XScyoE#Y?5`oXa2N_E0#ND1d1d?TdeR6o1bA$8F z=i9}T@5Tc?;)kgo+NlqPI}ec;u=WJt3J4$yCoMKKcHPIpWcU3%0mn{;%6_L4SNZlI z(;8Y+sW-!ZW6XU_@)zP%z|76~?JJQZ5DJl$YPSN&Sim2VT|oxkqSwv^wGD=MO2by?sxEwgwc#BDXl!>Mh2L%KYQ+Xk!a@TakUK~ z4cCl_ed2yp<1$l+S|YM9!eQ@JTi2zSr==?y<11xF#FFs2xXD1Csp=T8XO8plpvhQ`e*(r50|)AS2_zxV#6xu*Sxo=G6(B zW5T$iNeCg`UQz{h$1O}Fgk`%2*0cllgPt&W#HpVeJ-6$ z%OWq#_*pxF9b0{C&aXA(dIXw&^-3bXvDLbM)fmT`p>|&RD@6?Uz_*i1X1HzC87v!# zl{Ad!%tNx$xV2ilSL>^C3#&Q#S@8*)UsZwtOB!mTHM^Hb*?uaLYr$M~ec&)Pdr%LY z8QMO!)M1Fn$WJTFXtUn7)!B%Jay$v|lj&ZoN|viOO@gZ%x!d!x%kJ;(or|6P^R;?X zp){SV1Aj!}X%`kNk z&&=L?wo2j{z5W?WU9vH!eaIoWZi+LbvX20&vCEP%*-br#8!WrBUG0}$da&+=K`0ML>5ZXEINPvAy4}cg6-+`+#<~Q)j z9k}fvR2fK*(3nWSDe#cGYE*w?Rc{*6n_|V^>zZ>we zv2J9i-A0di)qyERm6ejD_a(`VGcFcQh3C}zds~Z_p^(6p;4tew9y~_V>Sg3dfvbHq zFJlT0AKh>tR-1{J&1g1(;dXdbE2}%E_60{VN~Nnh^(1yfex;?{ZD;pSu3YL%UvyAw z?2-<}xrtCrmjb8SjV9~%NvD1AMpA;#S&`Lp#Fg250%|TW+D4<7CCX~%&r2`E1 zp+Yr72m?ZO-6V8pN{?$uKnfc{{f2qCs_11Yd0I|0_tPprj_Mq)8*_WNcySVruN- zEMn*iL<*)(e*;$>oc}l2iiz>vrhmg$OpMHb6#WZZ{n_ZBKK&cE0(y=lD$IJ?J z2!M&1`QOpie=zi4IE(2Ie*kUxC(dF8u>60*SpX)+cLDE6?jJzwU#=qj%UAyia=nk_ zZ=*aS$6vR@4ATU;~%!30HLBo)X4k%bEVAQ(w3bR?Xpl3y%4ClT}brJ^9R zg6&MXl3LZ%qDZY;WseAvigktAnnns=>oz~`MZ9w9`ptZw|KRD{8#gH7hXC-C43yg6)qMeygcpLNB(RA)T9}DcY@yJine<+gGJ#Cfv}L1|=#z!QaKRk|%<0*> zfQoM0%S~tPqFQ~?nGOBp+tQA0{Em)NI_f>H(QMCj)dWT0Z+hhU0Gp`=NDLWU;Lt*B z$Z(4GkIVJ0S2fw`HBplja79EWJlMPrS8Kt;u99Dk*jP%e{XsYt6LddaTYZP|{H0%n z7_7oPW}sQ&1Kf9n#KP50ZPo;n$UB%Vy5H79uvZM-Oe5WlHHwM0 z{%10j3ht=fqV-Ij2PyfEJ8E1eleK2FrQ*$km5hbkQO_xPvw5n{@!Gty1JqBtgLB;y zG|4HDlsp&t35GHARi1I`ph{y8r$+7~HqQ=sSbKUh@W2sSp0`JD`6HE>VQnHgDD&k} zfY=@QGsNKKqcN}eBbA_hw}es-82dcdwueJw#gTpw zt9LsZHk3W|#n^Y=R=e5MVJgzv&wQ${5dr*+r|ctBU7mWSNj-E5^+BGb`YfWpfLQa4 z))mbyi25M|agYcyI-y82s5~ahM3O12qcv|sc7`=W-JLmZ9UZGhuH3cGCOMBhIdn;b2mt+7%pI?*D$+Ya_3@hljwzpC%xrSd@OLweOV!yM4 z9v0-M=C;6*S3XGbtn7u1en_oIL~{WV^jI^}6ZG;&6?ijV6fQU55hPv8!f zg-nju>uk|a*Y-YXZvXDl{2K3>@mE?+rY)lnt&ZrtVAN$4l@qE+LhS<_YihHdMZF4q zsY16%Sm4XQb(iaIAM0W+d>LJC%YXZ_>mBp5X4!3Ay9{Q$XwO{sUG5#RUcELHe(Szl zoLV@r*O7+9Wk|hq1Iu8$09Ez58DVMMKxSvMcbo*?8Kcn}g!=x?XJyg~W=OFI#czSgD?UGcA?Y&}#U3;rFzJ4kF5Fmx?6S zkS8Q{1+se*{9Ha)@uFsQLx{sf%RL3mNB!oLyB>jIpDO+0I?w?i(nLk+d^D;#ZG5UU z;IKWE(VrFzqK^G{I_%;5%;mE5vTRj2hOIdLU-oaW>F|3SOZ6W6kuz>Rg@%i0{Lc5? zYw*f-%cUWvTJggJw_FlS8!KRv&XdzQWRS=VREhntMs9Ex`FWgu?ApJk+u`%L{eJFo z`P4OHm!_q|fhvp3|8gV34UZhSX{~V@xkO?e1z9@arG3JI#HZ0gQmxcp??W-o$LN>$ zIs99F^nnAUgij<~Nb#b>?z|-~6L}NK>E#{$+FB~5Skm-Tf3UA(bDMohwflKwKFdWp zQvJ2`#_5@tnLLe7!&|9(*u6o18)_8+??caHtRr_{A2c4i5ow*Ji7^N(0xo1Ful7fM z;cuW^ilRdB)EArQbE@Gnb+F}3#J&Nj!dtG{>aem)JYBUOF6KEAbQE-V(pjxR*{TmX z&6gh)KCJD^j!E6EwDuRk!6cvr1$f@3<)5cJH&=TGAS@N4o2T8BgrC|=;McDOBud z)cv(n?MBoV1Pd`CNecpo&Ha#=K&_mN1fjNZW14sg_Te7va;Gvcgby6x0vQ5;k>P;=ITX&@@j~ol z8`_N8t-LTNO(Ds0K1DRl0Tn#gniY0eQasmd&25azIl`ryk-a1`hNvFs?e z_`idZ?;z;E-0_*%ftc#QyW#)+7O$)L2VU>IM)Q_IKx#Iwj0~YwJ?anVQ)wXxFmz0? z62K&QzS~18RzmpB$lag?;f0q2SqM7iZr>mAF^O$@$BLZ+kvyx3$Q4v6%AsRVmv$8i zdwi!GLI#k|H_KxV_wBKv*z5;>4uU9o#J&i~sy25$ zYc%?Z7HkBNSSMVkgBDN9KIicH!*}h`q*Z-$j)6IuSWuM}_-RVKf+TNq+sgH(O52&< zJ5dB)@dGI{NgX{Ux8>pJb-!kC>#s{D5je&;9ua`69v(*c}+ zA?3eNITITPArsr5`1;SL*#N9z z;UHvX`b*CHkr_yPGXH~GW&48>{Cn*mEr1}HnS%pJ2?GD#kMA}DN#u9Fkr_CGKV`qm zcu%ncOWsSF+233I*@Fp4XEHN!{@Lq~I$%5IcS%6~z|sD1XjfG!4K+KPmk})lwiOb^p#`ZQY&y?aH2H4A)$@S~( z(>Z0n$i2$vae3Vm599m2D4h0|1>k$T9OS>AV)t+Qt-sjOqj6qpj?dF{$z1trJkV}d z%jN|Elg~eAl&0U)>9(IR$e{C<=0~wFeUlyM|Ldl_e^s4!K?2VzgO|7cs{oiiDS(PJZO`Ho5WQQ&IWS zj8pO1vn$TH(_p!|E#6)=QEs*|b3LhWk^Gy<&IdRY1tMEJWkDQ3=|nB;dc9!ZSO|oBs-f!-1@FX9`hJ2m;uvy}eOMT1 z>I#NBOj3zP$m=DEAYDT&=O7DLjcA*!iA@v>x0z`ywO|46Lm@PVa3!ksia-8Myzutz zCc}m7%EJT(CBC%JPRq>Hq6385-3Ww9l(EKO{0GO(fCzGtU#*YrEU~Y9_{ln7C?UM zMtj$MWH6kk>Ka4Z(R1Ks`_8=uf=98Y!o|u3Avit7GR7kK0ehWYN&oabafs++ zcc$B#87(er@0P=samhmG?5uIP7aI|na+=h>x9_wq?qqU{;3$X3BP4 zq_Q47MOA4}oVbdqi*?Qo%2|x8wPuGxSH%iviz^;Rj~WY7em&rf?g6-qu*Bq|l2-R^ zm-Jffd}(+UsW05u(n?&t7k|1G7M!HJ$oD?E?F$q;b)5{bR&R+mV4qu+g0_43C*E^Z z@O;c=Zq{|B*R&kDqoCTP3pkYD5$Hq-pQ^3}hpO1UocM^!eWamIH(00V70Z|F9m!Xh zw<-=g>IsY~U4k%ZgvX=X$Bf;VczoSg6u0u=hu68WC99v>xFWBYhm#SRIwsQ7d8{!a znDOlmo%fU9X;_S_ny$$ieQ zX2WR7RxAjKBqQbiY~$WuZ_|JHcLIaOCv^epmjD`x z(jl}dsZyHn7bljg!#NTMsANa&Bo98{z;6Z1Qx3=yKY!s&m@uYEUsb<^c&_&NnJI@J zH4$^A*3Gy}x*cc$5WXNXF$of6-}1Z?{;fBOBiFikJTg+P!zcm3Tg(#R86mvje%SIP zFjXnZeez@(06tWM3@IheCnZh%HfqMLle6p+j>j>s~p|Csvn{|F;GgwRouBhPTfZ?~P6O%kGh%(x1*bs`pGmX4V z&G4AP_er}U7`Lx@BP5weVvR>;u2Ym2&@LEoXXl3M1dU*kF1j)}H(^S~`rkVAJ>skEmhR-WSNUud%( zylHInmTlog;kn@=S9uiI*{_H~Sz~}Xm{=mTa#onYsz&y7|MP-2Xeu-bX`@=Vf zQ6?PlT;sf-v16W#lNTh76!9XiF(W)Hz{iUmWYNjWQ*v)pwKA8=TyP!8QH~c6QzVFW zB9GN1q~*etR7XD^uNly1uAeiXPtdBtah~IS&!S*V1^x%( zV)IK&+pJ1dr)^=0SfLm-VoNnWvsV47hXAo$j5x7l@>^`*^1a51js3;a{GtbrVpK-5Qm^aGzAH1KAC_ARuTTa@CO^P9vycV zicwxlrhNss^?Pj6wtm#hl@VZFe^%AR^ig(Csvn>FgtJ#68RLZc#rZBb>nyk2SXw=r zn;?td-Olg6n@{-XEv|>WO=r)#$}4_5mzY97&PDIe8+@=o2o(jP2xc&C8PqaDJ2(p@ z7tABC>I={H2x-`s?R2M^^q1tq92t|mz7Wn-;e+E2e=Y`LR`?N z2i@ICZqRED@$YKf(@ocz3Cowl?yD1Kwo}!3MBInsj_Wkd0)BFh6K{C+x{w!e<{;KM z8*sfhWotxq)#DemhRX`Ftx7(apXfA6u;-M-be1wIBu^`0q*f&?8AEA<+L2iMll*b? z``95Nz2z^KoZH-O^@<(K&3>^3w@+PCO;iVi5bXT-^CT=cV`Ugub)PfW8i32A#>(o2_qyX|I}X}6iL^52uMEjI6! zA6@kRH2IeFi_|&~yDKxGW9&Cd0Jl@h$3v>{t5=SGG^;RhO;wR}q~m?K#|)fkW%IA* z4GpP-X+a66C&S;BReVwpOOFfjviYQsEN)+HEvwQw8I$mizh;)nDHdw&>*Q%)VbLf%p*wVY=d*#d z4HDg9&BjO;ff6LIML?9T6S?oaO@9l?swWDKr+!S8{CS7d{}|vDqe0}?G2q3VzFtSa zUCIVB??bgbU9F#=II=5Y`vRT4#Z3Bj3;-z_s~Ns7&(J_L0wy4g=Y#OXNe+x<0_M#X*!Qr(oRAd)%ns7)BB6Ol#)P2hZ_#xii(K$DI{tCY96q zD|Wn5 zYtMOQ%*tmi7UdgQIcb>aRl@_iuvK$bIqc{&PO~C_lNaIDc3%_suPuJXi_^C*@Q{u? zx>8^!rGln6>TQ%Tlr7s@CXQ7arwfY^{1ft5FwfV|ntQCK)hY~Ubh_&8N;Nh%QyZg; zrn~zH25-)dK~4FBZ1Y7qxAt zb8&E@*QZZ~XQ;-{)YZx!OFh_kpl%$ds>$Wfyz&GFfhofP)m`7?I1khwqoW_uZ0c-m zZ%xw=!F}~fZ^(v$d;$L?$F9(Uz;GQk*f-yA#VHRn=hOt-yia~rcA0au(-8hc!?Pw= zvhn&9rc@oF(}BsY*T1&vk*(a{)hwsI`!syR>waWF8z=aqE^m}2CT0r%eU6u#ama-6 z8{O%*E=QXcoKxdUj^@5E&z5Zc47Dd72&0i#p3zV7>N9-vNyZvaJSY8+q~GFX>nl$o zvNAW#HDWfRAI+1S?&+#>`9rT%-B5HNO4CLO3`9i--SJIL@lAKKUdaO*q~JHaq3=k& zKwQ%CKw_?=?$=Q+AuG#zzSc{chN?b9X}p2pVBiuM>l?ofTx_W)MLW^>>8lOS9nAWF z>H}qm%t3gjJcOVKnuOedniJB8uC@|yR6WCcp?`_%DZW(R$`vCg&W(HSY5ji~JE!JM zpsicSwr$(CZN0J8vE8wgj%_C$+qP}nHox9q)v0qX_Qm-D>uy!8HOCxdJQJ_VY-m+t zr3JL+f8NSw?FlP2l{f#7cErN+|DhkN zPS_nV!F68Hx?B>#@Yd5c`6C<7={v1La&!>xO1W6)#lsJAAKs)MqUjkTLXRvuuoayh zAKiLUJ(y?ax=Kr~U$Uj@p0#gUlXw?A=uS?r@s(a3NdGLD>BqPN1Vj6ab+Ios^bE4Q$%H1?D28J4h+v^{JM(PLu0 z;lw0LG=ztx*h|MER+9#Lk{kCMWfSzJ-*J~~xLSQOfEzfAhzrzW*tawd)Z0H66F=8K z@iw>bH-@i6!8SOeGQSXIc&unu;(EAGl8^sS-gh7LxbTg#*Pm9}aXsKSB2UB_eLl%Y zlwwRsLo9#bFg#Y3Z_AMx9_GlE~w zSB!pA_B~%GBfsCj<4-=Yil2uC>(nQ5>^nMByR7x?8?Ilv#&y50K5G8-yiV23*Gwbs zbpK2p5DI<`xYPT-pIsSrPrNN4_WTTN5O#m4e?3lYq!NCAC>m^c|IPireNeRj{h%o5 z+amaNG1Iea|NHankG0TyjDGoM&*7YYxW3x-Qc@= z5^%QQJ^EU<_N&3Ydd_k4{qXTx|5$%>Y@hC$me3Xul-$(&NJ+C?iohru_vEi&r!UagU^m+UkN1JNlXT=2Em!_i-*ZC z&!3bT?~5BVqbwG4>W3R|Crf9Zo1InGnaO6>e^GqjYGxoRK;^R3k#PkbMa%Oejj>p$J+5S1~vKFIq7Gh z&hw`1w>3Vq8d*%wWDM@i+#iyE$c^qBA4!bR*ZbAgVKJF_D|B1pbdoK-G=?s}15PZE zyGlz89)lS(PkecMTv9LXXTWJMe8@`h2NGu}4IjC7EkbO4KHJpCqCkC2h5CVV?zrtM z4e-_+2>h0huxlEmoJXbwb48$ob9^bhvN&@rXbojhz^4In&<(BJ`ba|Q^}sdC6k^Ms ztNoQR4ZFlk)0Nq-dYsQkc~Za70Is?6jkHJG>+&X!$6#07BiPlX6*A>0Nd$WhQRDOE z7OYuw&ANjyIfQ06CoQ>zJ)Q(USYhzW4eW&mii$&qPNot%Hkx!%F;kpt1kSqguj%|J z1Sh-;fb8^%w#l(NIprOPI1&TgPyGG>8>odcd=7;e%K6`cg~LEy0m+5Q3L;pv#sEwYj8g% zy*-1)6&(G`y;EX?^YijfB0)zZ%WXk=L%1q`1E?g(dbYin!cwD8#4sYP5MsHycf}P$ z-O5T3Xynq@+RW4?cd7rneCfMQd$7)Nqb$yyW0w<7Sjk;9;xh-?<~U9+OB)i?uXeG& zv>0FU+$YDDE1hfAT%5I==Fy%35YEddfc}i)hL~A~91CkcE2T&)eP(HkDMIGTp`}*a zT0OExmR!IL>Asp)T41o^)H>?t5O-v%8!{y`ep`J8CyoXP2O~K`v+?}#v7`ICt%lvt z<;`o!$sHxizKIS9cmfbv4y!oSH(r9g@nlfF-`6%lH5;}{s zGs;4R8C45hFWBQT?Y+5~`ja6qWJDsl3FK%*H>qbi!X%ZmP%+uW?Sys;2;qzq4fuppm!fT-zTG$HSO}`# zf9qwrBLw27DyfVV#C0k*DiOJz1L$9^>hc)E}9}4^T*x1*5{OF_2qk{ylSRA z@%{P*aw*L)ODWcy^7vajXYD#_^=3NGBJ+b@;jA+*ca7`qd@^9y(Wdu2#4HOWg_ND; zW8`gq!qnEL5b)46?8>h-sNeFr;NFlGVr4@a6-8fT66Eu39_zF#9EUvX#XPww~t!1xlFj}<2 zGZTH>)|IK&7_3`pqAbbFHRfsCk~&g`;?MN2WG{|SziocupOMueFF|_ysD8f${xjRN z)7R(8TZs`s=E6%))CN06^(PZ$@tk1aco z%hcEU#(op`u|{!tR3Jvx*fv=>6lEy5mGP6xX6$W-=5!6L4=xZ{OW@mBlnKU(FV_5- zT%;E*7DKG0BVY}h(l3766)T>V2hbo6>uZvo21#04BVy385`_9p7{`ET=C9ctm+p-o z$(lk4fZ%_ZwY6C* z3X5`I0my$F9b7m^q5-Ty6dud%w16alg^d46Dtdw@i9AQ( z&ah0)@0tccie8_tFj288i1#5SeKRq8E-Z*Xf!(W@(< zK3^1_q4S}I+B9(_&snk@mlJ?3IFHmYtu>z}(Fe8V@-LYX~fB1ssdasE$LxLMCdolUpv~jmt8wYR?`cO9y>TN}{qfYpT5s z{T={!Gqk{KOV9S`!Z9)nU)yF_jyh`Wjb+R2^m=!ncnPi3s4$mvr=k8&I`ZnFT;B`; zYd#J-rW+PAVeaphUmIwFBDTb*KjW?~()gVnw^^Ls@R#1rW-EY4gkav$aip5IV6zU2#3K z_SlVnHh!tXn99!F@U-yA^u>N)E_C1Ey0k@UVHF?4Af0L*5pAghd#4CxqgOId@oJA$%{19sBv>q2rRz~Cg@u2-EZ&hjWC2rNlv zjq3djJo~s47QC<^lEth=g6B*eWN}wSUDwr)<}g$g%xFh!_^7POr|PU(HpKkrQl8UM zrZ{WFA|Lb@3H0uN;Ig+T!bsVW5SKvY9Al$%*f4;w97kuv_48{A!ZuJofT7^jP_7WQ z=D0?h>ol%p9+S2k^ItKRRxb{xN0i%+mkIC$&SCl}?R5R5O1?IITMOmEP;vR)3Dz{r%J0&v8PG_ER)sYYYq4hXD+!hxuJy#1wVSTS)n`R2sh(P@T6*BB z?elcwl5$Wq@dXg2J9I1xlt z;7FgbxI)XSmzRhlS=C8P-^}Th4K9U74K8SYS1WH^O8C@=(fTj2+APB3w#-^QCo%2i z!St>5(u3k-#*t+q%EMGH)z%%^6$ElDmW;p%@e$=M5YyImqB=`R?n9Zx%=gr#JSuZJ z%|3g;t_hC-RcyD3;qrQ=5I~Ci(g6;&G$$~nm~wd)`H4rM6|S7=cquX1J@rH`fj&UT z4|}yWaJ!+Jsnscyr)DnOGGm>CV^>G?Qt4;_?gxn2SbW1cnR_DnlF0aAAQ-c!$Fyac zCckE1SY4-G`%x`XY)2&KQW4WjPJvN^5v)67y7}0O<(g{)XGNh`%E)TrFMw=&?@vb; z!D?1u`Tc0*Dj3hDugjxsxs5V<(6l`7evPrhDg@6 z@#%Ny>@9k%i<&9UVy%R(;yCQ%%D#eH*vQyTtN8%?J7j3e7PdhxlC^VkoyBb;8Pfk}Tv8)5Y9*_Ca&76SNCE+Qrh$3?BWds5$6Ab@^8H zvm8rBW{eWl+z<6y;~^o=+ifn8?L(H19Jlv1MEVI^1*E3C zm9~~m(YuYF6&aE#8KRSqoHo1sJWXpWNlr)q zo#qvI!@V9-+qsy8cXilXvqD^`uh;}tNf{utyp7o5+Xn~gz_CYUh_R)DiHsB8}V zuee_l4`|_At1Pt_einEX`kYb&e%cS9DTEfr1$S~-ATyEdz7CcOOoV`-QK(?%k$0Ly zmW|hi{p)umEa+553HrKUXh@3}!TjIQ0EX$J%W#7G{d^HZI^nf zYW!kker|7YkbJ^l0UOh`Z*8v_?Uj>KJ=U}HB-@*nB5JRUB0574omCZbC_l5M-f=URFD;=L<^TgvdG#Ey^=u>t*Rk)Ym zD`6t(paT^p-?wggRxa(0)$I=VAQN(_KrQqGE_j{=j(udtQ#o6NMOJfQBh`oQHr5`N zh>m|0X6{oJSL@lwjC&PEq61gOYk~V!|F&T4h&7Y1XY~vnB4=)vVD3NGR*Z4sTR@=kCwsC*M zI*;F%v^%QqWb0v5Ovk|M8tBT-SeA_2^; zi1c_;EHgwjPg3Rot4GDAa&TZl8Vht5fbXDoAz8AUk>qfMEhNLN*x(Htc+7W}SA{~f zT9Ky8*d!u}3}TwFQ1el0CJ-R$T1t`4iKP;7*(e4*GOg=s5is2VL+Xj`maw*xW(AWZ zqD02(UNz+3%I$rIG^4kx+lAnH__7-$$JwZDi%j^S z;uX55XrdBTJ$z@qm?kJ8h+`yGKeYcDd4~hd{e^syVR!SiJ@_3O4I}}VHso#^%$|*O z;d)Ih?$HGa23CTir1Ao?i^D*rebU!Kifc-~XH}?#$IzdgC&%Vrm1pMMV2_v9xw@eS z<4SmJnCV{ft*+*@aWi4#xeM=vt1b4!8fn(0xLrcXZLTKuQzC;nmqI@<1rnja7kyV( z!Uc6GyxuL)_im5ggqJUuLCBmE&AI{a;XHV9(d4=OLt6W2yoA6O0i_6LkVvFrT zE;ZaG>lWbH`ve7-2W3_GyB+ZZtf9^7G~XG{Z-{>_rG_=4ZXs-t3#kA41?TzIM!8GT z8@#bF4COn>*Us*~F)h6yF2{``4GgTM!vq_j&{3MXT4=Q!*TpIcx$_{UmCRkop8N+p ztI5mpyhL_Tpz-WDL^qYAc+LnBuLz5Oj{}ebBxaK;OubJ&Wa5{@iRQ*DC)XtIBHy~d z7cviRP0qbKJx)^32Tq@-XKOs1?tW-EFB~~Ed?XtYxzHX3YnSLWbqr1@QGymo?-s%a zp{!opekMOthdlIzA+9NgS`LK=8z&O!lHC-vL#F2($VjOY#$K&IbiaF_!^+3JYYCTG zT~vXETOiR~RPtz)Z3_+>MCW<#nRzu!S3IT$JkaYzPdL6rK7zqr@J#=dwD^`%j1OOE zdm8t};UOe!MXC|tHf9s{CYSJTVeLo8Am^!*M-4-XMP^fATdW(v z#n3CvB>(v=fEl9EnY&r?X=RloP~UQa6R{AjLS-$1qE>q-kNY?TLIw-t@{i$-^G-^+ z3AR={m=!WtWNc+wg1l^{%pPsuaZNsEG86p@W9K2`LxqU^(Nr<+yD|p`BuOP_0(mamDBG zt%ha{EH%s;9h87r&Md0}TfuFC&9IK6JwB;+vuu~b3q$bFqf&J5#F~q&bru=qS=Aqf zyp{@-_EQACYoQ!la*eWnLgMt@dBeSIDtn*6Ih}@+DV$8Vc)MR9Tu<&-4k(Sw&5t%V zsnloEN{FSlsiT-l{g(0c@$!+F(f>U9qtN}00uofSK~2-nC7cgqAN(1k;Pw!Z)`QTq zt$}xnDZiQ2j#*H)|AoE?<&#kcELqO%iGOjF%L6sOxvMNclM30>hyZTbo0ab6tO>WA z06fu3LZLL|d;jPY^UlIuzU;=7E~BGHs0g+8JOU(7gzJc)?~PMYn}31+cFP25DXQo& z6`Ub6hpApKiQN|=yol@LZ_*qKC@hS5++y6B7}=CSWn`L@29${S3=ueoGUo@O%9gCO zOE$SEXF+k5%Y%|2Ld1Ikd?*&+&z(+@?X(vaSUkr*szT%LH0sa%@y?ovrFy976sncx zgsoqB0%D|iEie3intQEp797ymv@Q}`mnw?xQ zSM{+Brc4mcs4~@La$OzbRLF8@F5hOD##ncoX0;aLBsKwp;~RY4Ll4!UVRCK6r)?R+ zD=MpTQsK-Y5LU;9v8Rh@kHz2X`nOGSR;v|5n{JJ;j@ugEjl{>}Kdpf?LKTbU2&PyE z-=*b$6t7EHiZ2FXO`$_X{>el6Gu&+Hdj+w6#+IVJg=Q)PK^k9IvdVitnD`7L!WVp` zd2I;p8>b~ok)lwCaFK=JDc;SKfbQ?D;y~vqQ_JKb&f#gG^fL-0GnA1!B8E6qPxFFM3a=(`${M*(kG!P? zPT){d`Uo~GlieIgkX{kAW`oJF z)?O7Q$B;vyFU8j^4~~9T92yuOu>eex87Z#6W}y5_8HhDv!&S=gs9Y3OV0*D`4h{vD zOcYYjy9u>fDDxYlJsI1*YamRSw$OA|G^XN~N;J_VW>=6s6-4`wUpiG&!q=oUbKj8c zog8-(mkb^%_C>%LxY{9kAW}JwV%+x`pF=i8`W|6bM{WLK+dYd1E z030>aTuN2H|Z`c!e1 zUB|J;vlIqmSjx069ZAjOABnO46!$k1L;zA1Oj4b)F^Z!`nw5~6hGGEY$41Juo;w~i z1MZ1KA#2kBVlT;pfk2+<&I5R+6em%`?1h?o*KnKR3R3+tnbJO0_+MOW!nLpnuOdD|-ZS)EoWKHWYnkF!@9EgZ<}ulI5z z5h}S_6lOQBkEUZLS^+kRT&ZKDMxjx*wb`itvDAPHFxuw2`3HLXK2dJj*n!ad z>g9VpXvCgl*2m$y@xktq4g;8Qd{B`pqGNpGLYA-u>Cx!7*;fW_kTD#^lG#M-iAwC{ zh`di3P1^BRkS+n&a#j(9@>NAQxnHZ%^`Rn(=ySA3)x2Io+Po%N9mh!c(qqa+#}*cN zZF~H&q{9@(U`PzL<^JCHu_o4p>q+{_2*@~Ov#pvv6qB`kl84aq!hJ*&+}aLmd;jWQ z*Je4u?y|-p9)qw0WD;)Qh6O@Q%?2O!XG|njMGz%*QnKh3D8_DVepSDC!<``^NS6o0 zj6qvPIyK+ojco-sc(Qjt`!rH*`EACAm!&tyB$=K3CGjr1hCo5|)|s~(-85en94zj{ zE9!II0%Y03;A`i61OlP#O+2?MU}SH)2t8svza1nrvJ>g^GmGeP5UT4@|dxW~AbJ5CibnGcy%_H{#D$o&F+0*3Zw! zh^(IA;<6bg*{22XM?uRk)Q`%lIl_|_D)&foH=+@v12>0KA~75RFXtk#i>joZ{IGjW zD;U^A-r%kT;-LhVQGEf6A_#Y*ITrHQZ3t}K+BwE*5l+YkS&Ru<0*(}(p53}nr z%l7gxBL;;K48DuFXP1d$TZh;r`v;nv4=z($kdoD?M{`rQY6Oqv0G*1m@C~--Mz_}w zvE9eIm1Xw=s5G>5fP91{Hl0?PzPOLsG=>>VcL+F-CI)pH+Fn#akwnt>A3L~MJAFv> zu*Rc#jZWl>1*|RW(ANYYhtVXh z+jZM9jFd)}HH>MM`MRfB4Y6%Y<1#83{Zl~5wWk(;kcA5(nM{4Zsl51_X|egv zeOpgs)pQm-xvr>ZH?y#rVt?GYxc`u!nW^7+*&eQ3i!8E9?oFR5sY7i&OA)Do<}B5Z zMA<3c%GsAdF_&Y*;m2IUJ9i?GE}Kt9Htuv^SCK?^AaEb5QX?Z{K^lXCum-s?Sg&F8F#JdW z7JIr*2SHz2!+5BS66cOVC&q-@f@?mDE*hsd0V7CN@5};%Zq2o?k~7d$hSxZyzG9TQS}hhtm5jd(x48D)g+tSk?AJ3vbrNo*_1tkS zc3O44TH3#F0OJt_iIzNu#g+Ns>SMN}s<9C|b6Yv?nz!D>JO*4jkLZY!)|{yelzJic z-BN>Ef{hnWL2-3GnNA{g+3XxSY3d_E2ocM)<$9R@;prL%#eKP|YC>xThh>xzw#e`3`_~R5t z>S&3~7Yy^P!@E!MysQ^Wfv5vWh4z83j->^(UXBEdU|}b9IB|tFgd5Q(MXAHk*f@6a zF-NzQV+C|5dQ!8O(H3Y$rVY_Cp`y_pNufmP347+EGdcdieEbNiQBHgCs7VC=g7MkX zX8ZP}-pc57bF?gYY435v9?A(=_mR8d0 zl4B?Ma&&^}Q#ed4=qtup1k9^ws^r-+;N>-kAmaqcoXq{{62$deoYfGgP;2q3u= zXX~0k2N6x6p6N{rc@5H_WeRD0W`EXEk)Vb4GKlU_KbYQv83!9QSPAzjG>qq0x()a5 zm;9Z&5uz+Wjn(=NS3AATw50UB;B%P9p6GRgX|zQxALmitS8xAF@!Pd2G6Xk$OO|E~ zB3>pZ<;C|mDvMYAsJ){2IIMhQddW}+OAkXqW3P`V>G#tU{zsI9Z9>8+9I{g4a7eZq zQbALIAf-HLS1%g89tcd&Ha#&Hy?_JNpXAO1Ev>~qnS&z{;vyME48HT7VPYZvOYV+< z>Y^^I?5P`my^1T6gOB7-v*@NC|K^V(=jj!EZQ9Y9h_NiQ4EnE9eE(xs_{!3;1Y~b7 zn#ofMG98MOi1)EkDBr0oLito&c6?+4U}4>ZaX6A%-SP)%Vx&1B&1@XFXbbzh22;=9 zw*j>Cd<9fWZQ7m$Ch#sSjIEA5GBm4J0VOcWZY;MHjxg#>^6d)%TMv7Id{_rxDDs3# zjMB&SjItkYCfAl7IBPwZ5(!@7_#k0&N!3(I)8o#%2p`JHcy{k9p-(8hr`HIGvrYQJ z_JkqWv{b$RK06c!z+9k(i!5hTfwD7o+8ox7XeODBm^htxsdXkDKhU0{Onyh2QIaGU zUtT{Xmo1B0hG16C<@3j=n9X-UNxYUEa@m^9lk2^6Y<{ZOpsxmQ_Gb~cwer2v<5^|Q zk#A66^`#p%Bsv{0>$k=(X+CWlXDP*nqUs3dqG1!E;JS= zzPy3miGkb{4P@a|KYX15DeNHvgBj1pr9Z7d=?u?NRncMZ4mf5e3QJ!4wR7-?06a?h zIGW!54YZLLi4t1o8^3bV9wly~)Q&5GT;B~c;$SKQYB?$b->CoW`Z7!R&*Sm8raQ$_ z=dyZ&1mB9Qu`qPjfTPCQHtCMq(Nvx0g`GINoDHR8I?Cqt-8C*QFRxBo6|{_t1i)sa zrR$T#m?pL$<2_@#Gc1-D5b$W`*#R_IP4>7u^WH49n{w@C0&6Aeeaq5~SZjxDY;a_- zHA+!~I0+^N4Us`7^Bu9zQ7;Vx&yp|YgRWxSQq>BFxzMhLo1<&_f(zQisF6~xg-&ob zwEHJoRXH!h*Jz5yV8mryqFDt7{UmUiuXrid3U0auK0z4>V>%R;3!QzViLM;Y|zGI8u?zKrR1;%DPl^KL`8(MTh1QL4!c zZbV_>6`Qx%C$g87jo^`CMO@$?2WJ5j4>$7pR{M&yS z~^R&i?XI+XE zWOyAlEL&9y=5Lb~m&Sbl<~vtXiGrx$?WO36hB9mk2D6BJA@5X-$Od4jCL>`OyHIBoX2I*E* zFg>(iN>;A0((z)R;qt4gcDsLM_Kf;&x}pvt!re^D9QYFf;!W>jHVPr@f>Y=K^PYPoIbCd~VUQXMOVq3Qx^YlSX35&>Ps0OyRMd^ILg-k4> ze|xR3xf4O8=Ugi&DxGR*5%vX@FL@Y*ov!M3%wXid=uXhD10=gD8!u2t(xqD_dzWcL43{7b7P8 zqZ~>z+Grp_KVLP1rm^mx zn;xFnMVVfR*`_v2rlcWwF1fBbeZ^IpEAw5I#9zBMV9CCqGX~_xZkY_JcBctuV_A|k znY`h*LJD)mYZG6Su=kNNM)ZtIDSL5<)%z%5;&`XHZs3?H}1a z(Oqy8QqQ^JGC7PdU~S46G+H2<_W4jj{!L8x73#%s!C0_w|Aui0LFs1d$^niq5f(7( zvZ_UjRm2rz84Axxw@^Dm9zeD)KOQ!0%NGofj30cy;%z9(oda7)2rb=sQZFjrVW16Q zvjj)<#V!fIvXSh+C+FcSouIs>&{-FdM$%C)CW|n83ROvIK2V&{^B!N+XPChc6ZjFZ z6z!K5tQMO>HT_>Io)&K{jaCV;ZqI&lcr6!yw|kO)#f_ zq&N#>$Jqi%7`r?dBi9MKr14S?oMjI*LV({srg7G1S~TMeq4gb_*WBkVslrw-^>5Fo z&4_en+UZl86+dLvst*?l5cB3yBK^S7lg;PHJ}8Xnf{6bLnMrO|GIdTF>Sb)Uijw<9 zb@bj>D(jL&Ih7>_9xAa|x&xKCIpCVZmPduvH)mBc8h;Gst_u5sG&EilkmX8!j`EZY`57+G;sxxF!p)SA15t2CF~p z+NK7f46v6nj%96Vzf@?}#M!9UzS`SUHJLdy`q=QKcE~zD<4zpfK5;twi$~F6uFp^C z{xQ;Qq|r*5LIB?~shJ~_F;+6qQ)yxHKy2Tk)`*N(JT`gNOf~vXPd5LBzYr;%PiByc zw#rTb9AK_Y8+#{dyulSN-z1Xe;3OLvSCUmwq4S!0tS*PQ5|Lx4T-=y8VJ)mFg(Fk9 zrq;xP*je`GuMo+;SgRN7lcm*yWvv2ltjiZbDkey0I^ zyZPF$PM$cWqviW>UE8&y+;W;JT(^WHFNRfNCkc2 zueTL>cQC7-TJ7Z<7|a^;N!arUt<%pj0Dk$?*g3ROU&P6)aX&k* zr;a1_(5#(l#uUQWj>y_W$c^<8o_W+*8NZk(E8G>wRVzNsnaaYtC7ebrBQ$uLa9Sj} zMqO_`7^}b+7(p(|MS>qe3IL&KgSne0CNwXgQuhW8poh`4JEJi06Gp z3@@1>XFPR4j8`>j3BBXOZbcSzVuaSWv|FJ?w$AP^aq|G{iH{N&iGZ*fbio{PlTW4V z@+m|swo1pjH)=aQPoFSWR+(#3hj9*6remR^2T`F_9g(3!u)~Z;=_1OYI+in* z(PnWC+2p&RnVs**7r%qE{L7n=I3~An8}VL2dx+RBLKNZz+m~#eB$77J2@x6)g9c-R zSsi@1KJ6yjzA;BJP@J(H*>>HAj@`XUX z`+3B|PptHcACNr?%%0s>vD#k$8!T1Jda2Bv!eY;5($p#c2$S$vbLuk>pyAHj?kSa{ zE!t8iJpH?u;RImxR$!`J(H=Ia&GuSt_zBWPwYT&PcAaTh#O+K9SVRRAKlo=1}1M84m%?7Au3yD$&OJnZuxx*=8*}i&FGwx9CPA0iR8vAKrJea zd?3VA?PF72yRzYftWSZY_%#s}Ex}*$l|--MndhHwDPWk)!+BgA(jRFa`Rh7)y8^%l zJ7oG=&(t6Bk7n`FCA1~bm0PvODiH5Z_@4Xv%y%N{K8B_cP$aG?%j)XC0zEOa@Kr^Y zF4Ja8@Gd9^|HOF^ulbbX+G`~{PGUyP0}|zSvj9EK2&bbRc>}NPHzK?KGCxSy`pWk? z0Q3qfoSIa&(gtmTK5bxT4l*~>wv9nQ7`jVEK%?UR1 zYbb8q(V5g#o3XPbA7PCj1wgHro1Vo6gnivlRP|puWcXvq6{N<8_Fs9JqMd$9#v?Oo zTp&&%s<6;whCY6wA;-BuE5oKG{9Ah!_6lq^8KfcgM=&h z(0o6k4{wP%=l^AR0_1Doxkw0nZH)LTSl%2RUE+kT`QOK136|iv8#o{q^>}`91{> zv_RH!b<{ZtH~KFS$?m_BEjj4Yzv7Uw(3xLyIq13N@UKYNlT*@u{OytIQHEwT61M!% z&!ip+M^#4ar$8#H0B_Y)%b6Vg5I8TjTZ#Y^?Sf!B*0Hg2zWHe1#n44~2`KlI>l+5e z*5r&VRhwpN&z$=7q?m_!Q$zVkMU5ZLbvytv39k*OWkp3=Tm^}H*kSqP>e5mt;Lvld zszk@hBOWUD4GaZ2ov%Hr-##0+?e9J5d{TsVmbdGZvm<*w>UZHa7gmv_Ca*5qR6=~F zL9+~TeQHNV_Abiq2e$M*AkkMlkFY~_S&nA0iEE1P&oqhNNmtx0js+0cXE5S}6B)N0 z3SH8b(g>LvB`(1pKK)gQ*+hL9P;?)fZ0E@Kyn1KAQ^YcF4{yr!&(-;6;1xPa@qvW(6h| zpatQ%#YuYzmk4bgbzZNM1i`m(pm1iLmdnXkZ;BkXOYlYvtZntdE>_8?EJT=MAr5Q^R{z<*#uhPI_)RbKH7p|Yl>I59Di6##(*qu1 zSXVoXL(L#9n7j?5@PIQ0&6yd@@wSpOEDtc@V;7@=u8&B)Krzn}&#&8TmDO?u@7s;? zZs_bd3`v;H7bO=~XGOkR)4LJnH0(dzx+ERYj}`HseRHa5VFH_^YXqo56**=A+IVsK z#AWk+G_2<;*F8?-w8kYoXH~NbF<|Q#c1v8zjBj;*I@ z0X_jR9HXI2FtPJl_J1}DL%mv{2Xm^tl8{C$CA(x!K`a|)7p*B=3nXvU%3<@WbW@Tg zP}k)Kdn!C1PmR1(2HhQ4c;1ZVHlV|U5zUtOrQ9EV=0s91F@0$lYR9{>4PYSdfUe|m zsdEbE%Dn34AEWjYL>zXu--NYK&?PJ9^*GQC`|%pU$P4sp&D!gk^67WjymYnF3os^3 zE6`X;LT9g)#k2f9W9OxuK)#OC10^g~_Rt#3<&j#hk_->yOQl!?366k_ zx4XlF30ObN8iCdq2QsYB3#R16q`y_i)zc_?GdhN@{k)a<%NH!T09H!5pQr_P!J1X8 z+=|Kz;IXIE(|9ql6r$-o{(t?$nLB)ke$9*=^j?iz&6Wp;bx=CPRD~(UvFqE=z1K=UYQ-<($Z2;mk)) zxgdnd`eqMqoj2vQF&gp9ED(GbieJHC?|f?CuYj~o0Qu1OF3p+Q2{tdx^+=Zn>Waat zySIUsv%#wgwPw>xVW@_=%a8RdT}d|k9I!M2JJD87h1rYQ7>^UF-X&|2$!lr_ejX_` z8pVoZJEnbWUG-iuzwRVpMKiGA>XjeJDb8G`?`-BxKStQLvYM#-)a~rxrDg#k4=)cB zw1lq_M37Qzc8|NIdKTH?R8tuAaW>Ip%{8H(rqC-wLn;1#U1v(N2 zQAT&aACy;xHp;&ET>>=Cr8R3#t`!Wg(XFWpteC|%rCF;M88w<;wSEH=Ev6F&P+k&q zL&GdcJYT<-R?E1;p8m&wPo>}megY*z%7bmdIWd;I3c_DtBqpTxQVUmb8^?Su!*Mmz z)}mhI*{GGDle^Pav71|RAwsa5I`4O$Z&=;N5x_SedOLS~r|-gm?O|w>n6ndrv!Ht7 zQTlt*$aB-?q*KeUcd3od^j0o90VE_aQc%eyxVEhi@oUh+26J~{><3SN2`~QZ^;mnA zz%J!bi{#pQI3vo0QC@4}V(-aUQ&{ER=2dV_U#2;xWtT@~?4i?~t}%aq71V~KO8gA4 zOXE<5&?FwW@8ni+ImLLzklo3TqC9SFTX)?yQS`=ci-b-id+6_ws8CEzi5`yI#WVLa zw@C$+@-Qmv)XLSB=6zaT9phGvNUq;7n&jeDoAi`y@CnXRout!ghmukJiaXw16X_8W zmXPc~c2Cv9mOZ~HeXKG+aTOZt%~wjyt?$AWG@+fb74f(cT14rRe3&kgIjfP7nKL3A zKeqpLxT(P91B(i0F&Ex3pJ=+Jv<>_kEQ5hV7NHW9QjvxnWnf;}yv@S1>U13*+3+ z+vi2YWUi}oiy~#o5gGAM^~5$KVOi#e)Y1&(Hh{hB4yl;13~ii{O)Tm}!)S$6QOPtn z&0Y?=uy{m}l=0&Gmv0$(=MS)08&5JTIg$E_M?9ai5cgv=s2lPdDsl}AB z9-eA3T=O{!yWWjZ?f!dXRbs+#!0Jyad+T(qfgt4`lt8>)fThn(md>kTWeTdagE9qh zfcLbKCKW!AShmSak!iImSnT-7dA%~k1TnBPX#X}tgZTygFm?R1`g-Q)s+bvYsW4ba z4IFmj{|^8`K)%0lTCT7aVp4pUJmazv=2w6B<1zgScqT-0)rJw$zZNF7csR8x8xU`>>V^}OY17ceP3MiVr21xqlm z$VoxPKE)*KJu870tOCENtdZ~_$N%#Lx`9+!u_2p&4|XiJ@OF82@N3Z~GU_Vw4{drC zpFEs1O%fCsE;^EB^0M$^_3%j@8BGy9#F}2hts|MPN&1cS zchywFktsb3BgiK4U}zGs;h00HSUuF<%PL0_x>_OqOj;Dxg6Zmn&56%(>PxFt1W+Mq zRQe0OpJc8|wG+G!)uQN*MXpUL+RT(d)r3`@QGQaa5oj;jaoxzpr+}#Q^-O|_Q0~%D&Hz)FFU(= zf&aPsD&c!5i&4Fk)KRFDE~N^Kg4N2WUJ59;^wDTafhF!Tl}Iz{dV+RMb=Rd|1=dj^ zb`4x8DpZ(V!&WX*pFk`HOQUGJ%-2+bC@ST{tV_ZHsXWzp=Swx4OFsFZ5u!iNzPLodV|;?8d&RTQQWv7)K0 zq%f6Yc!*$6#q+b~upCuXIA$U;wJ9X;&yKOhnfC zR=H&xkwk}PzgDJ9kS^ELm~KZdPZ+Ai*eGf8WQP{_ASwpiHe2$j;2(@%ZQ`k=F{(?7 zPF0zJL9Ifw(^ckRa!=`pg%0=RiC^TeqMfDti9rP;UStEF6N`p_6d|SQ+2_^UY<-~u ze9>u%qlq4}q7#@zB6_>52J{iGz1N8x|DtaJGgBjYy<;9lyUH=E!>JztYhvCb&S#SE0W(53TM|g4nvSS$!AbzrAhUG5e1Rd zwr(-`9iRgGwUnkRPxE`7_zG<$(oX~&A^4ihF$Ezck_SPt<$EnZC5t#T_f2&r8UTSg z_rOKJp2ccF_ch4$xGCTy!i!7!L0_Vf&w8jty2@0uJ!hN~Ls!sK#G|AtH5G*tjvBw0 z3gn?@J4NsPSOSUzMJ1MwUWiK+B=B|R#t0+`@f>=N}Q{yuxMd@y?U~#0F z5GEImGL?x(wq6>xB+m2^IVC~-Kn_qP`Oe{N-Ou^JN9-pDh@NcFyIcfGWqG7mIFlv( z9_UaO_9E3Y+2vWHglHq@rG*cGGLw2f!?*^)1r0 z5iF~2!}Kim-a-X7h?OmUIjgV}EE_IPhM_3kA})tHS)S?Rzyu&zmipaLFoKBua*N6b zhg!_~1<9o2EZMW#i!6C=eQ(4G2GSqJvU%$&V-{_Svo_V3@nGkRbd>1nWW^|+=_#u z%?orrniW z1Q-JFXggwF0q*SSP6d&C%dXH8efZFMh}e`>;-!>cL4_2^*Ld{|;=3H%GyIT#LyEG! zzzn`Xd~B1q+7-zH#}orlY|nKkEUk+%iY*EDd=6ZV>onap#L`nv4H3}kVD#+1D4Beu z0tA`f@WBr56@tD?<&}kGVx=$jRANR>c%0-SC-98XrEi7db;P=wsG@Lwasw7N$+uyq z!DS|?w>V`0s72L~Iy1~BFA_+NDk9d>hd|KqJ-gf$)g^UM2uDpu-GiK}@Hzrh`hnz( z_1L6L|KzVv)0XWKap|R`Wa`AFn6x@ES_UGU=Ry*pK|)=8CRLtBn_(rX8Fdm@odmP3 zWmTGM#5KQ0y|*9@2w7qL5Kp1YFVZoNWyDGVMV@kKN+lvR(AFi{Sv^S7j$@Kd3I+(6 zEeXrCJM)mEQ^t%)^hAQw&r0C*$IP`0l`XoAlnx9s*A5=Lh z*8Kx1p)C1VNY}`bRn0#@o3&?BF$hbztWCWZz17>r!;^B~pv^)8Xp5@~rbp3Dq|ry@ z086(^fuGL~>-bc#-Gep@yWO@kpT1lHi^RjFrz9`;A`bJGBQri#{%!@wXg*-7Xv46y z+e5ZY_jn4OThbdn>s-j&n!lNyV(na)x3CWmzyb2Csnu*kca6Oj7K$56bL}7GB6opw8 zmIRF)OaO6|!96ttPu(I)g*q8ZRMfVqJscCCjFyh3^e+mi5v!*cpIpmeRPtFySYZ^! zgWxc1g0Hj~du&9)nA0chEbO4#ox}tsu<0YYnFy2|iJ|&%XzRtHJCS<66}*LzkrLra zv=PA|#zVT*Xr`(XY^QRk(`FHRL|$h0cJZWC?sOTER2g&DUulL0tF4 z8y&&q$-LaH1zy%f;}(hieR z(B^bhNjW8nn{H9jc8OpCrRL4XG^^9msz^48`wkzP{*K~e$T^!(UV zLYcR{tCx?I9r`@FB;>YVdt398+Kx6;5Tq5VM30)!%KbuTjjAgz+Mwv*m(wlUE%bC; zPN9-RE>@aHQ(?9Q(38t{OSEqFP=LXez=sY}>M5JMLR!bDA-!w9qLyALRyTqyUg}u3 zpByv=$JLlG(!1%Iok}Lo6p9kYp4NxYp`;UnTXHz9dQyQg`WB|{pwtQI;SNfsOb%w= z)QOS!>6@#Dr&74=XdyFck6Z^d2)yfOvf9<;#?pz+)KfV7c!?9GI=Yu<{M31@Fz2bz zJepjD`Kz=2(gu?nVT;V3M+d|^CXtGW&S$QG>B4zQksuGb1&DK|cGVx|ghRVZ8`^Fv z*a`a5)JM=Sqk70b@e#rUE}6rMlt>3!88-~ngvq81Hc6ViT#k%!NZNtRfNfHFNwlZ$ zsgUJt9ihb%S*n4VRJ|&zHj>_o)3?g~F8Cqkc~C%4r2vA8%St|}T5lGCpY5axT+JJ% zS~>66q+=91;z+DZI_wV0I2WFbQ|jv7#w#}Z3R-xLfVH)*c1e=++Nw*CstK>@YMWDO zqi9uFSET0`X2&d7A$=MqS3$j|OZ=in%yV>v_4B+$C3o)+hSzc>k%|_UEo9Pe<*!)2 z0tNt#G!F$8DwuKA-(hdX@*SZW(h5vA^fCEQL$R71TvV#f?Gl--UfNQ}IC2l$ulFYa zC6nl2G1zEp!&T=@E!JB#K{A)=XZ0^=Q0M+Kfi$^`uOR7UD$iXKC5}eBN7AXRVAltN z0hB7L@p0uD88AAb(?bpn?I^OV#L4w?$1NCBujMX#i~vRP79tALj7n*X6{dXlF5Kd+ zFo~(Qy4($u9PrrL1X8kgsod-(FR#SLutvHgrsY+aJA%1psr?swADRImVrRvPqf)b@ zpbABXSS=bY6r6LIBB4l>NtuGWgduegS2s?A%unY&3Q$zF!rlJXlQRo({tmJRxm##!?6`)J^d*@V;FtjU1U&u- zeE}V^zn7CKl2*upShQN1x?t-Us|fU$9ADP0$aEZ1Te8TMbm0RPCg|&YI@kia2gq-f z7)wSdv6BQS=*-?IC|@ODd(j(`39^wkCfQlhZ$2kyNMl4&7rd=FsqUN%nUb8azLSA#f>FD>GU4xp}Tm5ClD(;Q!6Or)}1pVXmhc z{(f6W0h%T?i&uCGKcXSNj~Lwg@>rJBUy+~X3S_|7L+6k$jHK{idsY}zJ7R>T<* z7>G`z17CJI4mmF3#tt8-q8s3&X#_aHpjzvhwQ7V?k$)3rmvi z!P@BYVUYm5L^vqU^|d`1O)A|1- zTOuoFn;-E=A8Ilm(9 zRSJeExK!PHk~YvZ9HvUOqGOfpO}lLr`K6Yk29qchaLq8R(CO2dbkEKQ2_EsgTyaiS z?&Mj>k#H@teO=bYpuy={-$_Y8rfUn3gt2Ya4)glRi4L!T>PFHIR?Y1sE}Yx~@m)!_ zbrh!JP?I+7?6GUuE1>!xTd)P`z!K}knP!Xpzz&xrv0YMpI83y;NF(#3%;M?=2*uKx znvo(~vDbtcx}I5wd<2mOT}KCcL|EO*qeHKOUyCl4D2%eXO65ifYA4qzfDl*BO@!ZV zv8s^a!)}DAr9>1J=!%+?==-`<5iQ#>UEV;M0!emO+Ve$`i4GN!iF||rfu=7Zi+v~> zmFM)>b~8B9-!ybZ;B?_k9^D3`!HuSDlMj$(N!Q%T$J&>FN6JiU|Y%=VaAX^Y?3mWvpplfkT?r!AQSn+a3sUCzBztp!q=3WasChGTrj2#qh zAMi;DuD=QiZA#xN1b;c@W5B&pzp|Q=D31DehD~zmi)(QziyG#c$Xt#T9>f!cmJ?kX z!`Z}J(1fQe65RM-EXZy>Tno5GqSYk&zLHT#G(R0<%h~Sm-eZ`;eVb8!D3y4E_GR;8 zb1J|b`Nwcc5%;LH%b<1<(oAGEicL;xQ+&(f(x|%{!?a6f3E-Vk3`W_e>133$+w>i? z+$s~rh@?4LOcz0}@_0=xik>Km!WoBBio&iUpz^In5yonN&yUqPo6M}+UknS zE$FwinvK+%Ol+Dug!QbvfK}u{ZldKYW|`0LXcnznUU;jhv!+^2jJQ`d;>|P_kpE_i zbKsU0&Cr*5>R51szDCT_8a5M|(Py44M+JecdULZ=E+QXHSRcruuv}``>Yx$H?V?j; zIv_V$m}YGCNW;C#g)r68QIS*xYfV^Yp08ES;~K_V>rEaj;#OYIx@$!C@FC{Sal@$) z{UcUIoX8$-YA$fxJ0p3Vw-J%xaDX}O|ARbyh_CL&%b=+_Zu<8fDH4Vgz;h2Wg562z zyB3=3c#n5YkX8sdlKi6win5<;P!clVpdM{$rA%PdkIH>DyWgvWG&)Dcd!?`ENY3J0 zjJvtyH60?F>THd=onZLf00p#}zrt)Z-lF+vRa}MAf>88?{}6^UUG~#eH0to_D!W)! z8`$pc3Pk!svc&tWaem9GRvl}!ZsO9d3smW#L@?J-h__3)Q8Fq0c%ga8G#joAbmK)V zFiGSXG5*yND$P3sTmb77&NyG`R2bQ~Mpc~A$hV|fNJoXdG9P8B4w+eU(zz{S$TA@I zvFGFI^r0PP_h8~QyT`G|zS0PiZkWaIyER3WKvD3mi+Sv9v{sbB?BoyG%3(KGe7rm9 zd<0iUnzXLKW=QOzS3rh||-+SxWKlqAs-Zfr#;2&>I=$N>)ub}PRgZN9uVOi!wm*DO>HA69JG^-Y< zqkf%kU#XH9g<+_4YQO_3Woj*2#GO@ zkPFE?8A#ZYeFsK7ggrtF+VU!IMJNzw#_>PDDrs19A}%z>dE(;&-V*_0^#7*)9){NTC>pNR%&J15Cp zxD7SaJU?$i))Ya9=&2T(adRw+#Ap+t~fmQxNjZ0k4 zf$T=)pv}%IOfqP53}B{?D@UbEI68GP(s->~S%I*NYb!bO04X)aJR$&E1pTbaB_8>m z3Fn}Iir0u@hv;@UWoOsZ?K5o}wMTiZ-NAh|hk z$7Re%$$tT6E|+`YJ;QokB8IEuX_LKP;w;fyfffV?4WLdztm5)v!7C*{6^s%^p^DP) zFubvi+tya?j-iBxlk931xcpGgEsxZyfkrEqRALcuwaQ*>i|nFb3ZTqS5S9-iPf&|SAPAX8ToaFih78<2p0^qs2U~Im$epDe7uYm(?gKN;EEr5-oQfeX@Xx=~Y}; zEt1p~$MGv9Maih5Ix4qVUB=#9#270oJh?VOM2#zb5!xyt3gE=DCAK}+yN+<9+)3id zV6Zb?u%pF>;O`x+$m9rnMK$FW>E-u)#{O;bndDv`+%gb7+Xd*H0WesgORz!^q!{kF zcrb=EYY{%8lH*FGrZg)K)2!0aT&H{Ah=?fmtztBg^s1J-#N1}yVwX_U`Mshd4wJG! z1Q}(Seb9sn_qZx_IB>r0`FKLP{kR>ra#P;uD-cM|B3Qd4jP2tddc3PWGdTQY1gU94vQUawGx$+hd3!Us){NQ z5w9iC-p3^~QOVFg!EwP1H_bwE0dnI4=A$!Ib*zr4g2)1Rx?8jdxkOBn4U z1>KQ{bzgXi3A9nAtjPYEN;YP8Ne!V>qriG2bWwv>qYx6sX={<(NbhNv2suKG1~(F? zmx|J}PeNC=yd5gVQ>|UFP?uI(uEE7|uy;fkblM6GS@-r;vc-I(ha(+h{+8L#j_pG* z=@ycn&5;(osl6ABVn*8(Aov>C7LwVWClou>|4aA5};1@7KfWedEY|d z3iu6cWXUxaye-#VfoID&I7>PV(-JLk3H|2vB5-*Hbp#7sx_|4Hx5T4oeUZ1Xc(fwE zqH3Y#tsKntDQ}r8$lfxBm5ivaD0z!_2nU4B6ZnsNd&*m;JhC$e^7ckHyf}NaYsp2y zlkLEh9+{rj-2-+J^k9!k-ZCuYDR24bwO#}+Zovd~A#fQnmY)KbZKG|?p(e`_H5Rz? zsg9?>Wk+9E;40tLi@cTBHD7tlNVgf{7RWm6k;hZq(h2KR)e(77I8hOM)i6)UTLAp3 z25x!F1X8(Nd5d-wg>zQAF$@Mv-f{|~PU6-=n|-~?+h>j`$y>CSD~!ukJg#fl(OoZB zNX;AL3OWK(*XbJamN(5$dCRt!L2@vPLdCDVy}7O=*yxb)JsF!dmJsVJZt3ND6}R7X z6zzyO+Oy+s)^%W|d((R5trDBBSAok-v*yctty`OtF}-8Ca9;>q`l~!A@>0)dMSF(% zfuLeqr^!0AS*ex4r611(h^Yva5^lTg@Y=9_Bybr(V!03Z@N)gM5V-1SSKxjWr61c8 zxc`3H#m!vz16s}h*Q$%q@LN51X#XQs7imhIJqUUAq3Yt_{BM8#f3V)--~Ijn`k(n| za#N1J({v9qRp3Mh+Phap8bWB2Ij0m~k)B`i55N1v&u@SD`KP!4<$wO)-~O*(zWna< zcl*=7emB#n|M2!N-{th_C;jV}KYsb~?dKo9o1gxl?{Yr9an0ZS(@)<$&JX_e=U?zz zfBgNAZ(n}+?>~Kc`|+2rzx(|Uf6y=ars?fh$Pf1R{f{Ug`Sb67{^JklfBO0R+jsTT z_doycpWnXz^uzD}`CR?mzr?M-z4Q6=4`05VU;gsl`gGnaKR*5RP zoO7dJ)RT129 z%z_Fjcs5Bbj7@s*2iRZLq()pKYpR;uT(kC7h2X-!1h-V+;yiZQ1MIodRe^^oTBAB% zux8m~l@QnPGmzz?GA@GO0UNL~Jg`030cEE;`uj6q9JNi82TS(#X?GsnRbEQofInw0 zvm+nyOdJE~fQPCQ5$SB}owl-J*P?_7mDw~-Q;aG+ka;&M-E55$so;E!;nClbf9=Tg z>VmIjtL_j-8d-T+K|AvkijudX3)paVkY?EuoHeQBNdbCJNT|XA0DB3g*`b(j=QP@l z94zz$(c|Cc9t0|mm&?S~Ve9ad;SyTHTfBZw6uf_1hHhoZ7(ZnzG#`^o=QT!t>op2eir^`LhSA{^ zNWfnBaS9zTpqUP>MH1d;CL)9x%n#%26l#ggA ziH8INOf{5E*_m4_PtA&Qvt#ctu7_n*vbGNLM-SFs#MW`$tkK2qt1ydEZfYt{9&Iw( zo$&$!&3G_KxKmP**4vUTQdyD!n`a3JL`U_cs9r8Ffo;HlVVcTX8yI2qVH;f{y`E*fB@zsU-(d06qJ`9#*y+%8O7V3FA=i z5VYm3K@Z}#DoYh_wfA6~wOr7FXuw)-{2-HTZ1xc1LK|a`+<#LKrPu{4A)ax>?1Mc- z-jG!mBSBt+UJFP&1+ZYWp^7KyVI0vAtq*OM5k&|0Ejo5w!flA9$ZxO2ZTSnNHX90i z7`#4AwtD2Q$fXH2UJq6N19{ z^}%-c@~o0cI3>HD(TcPLB0Zxj3m7`mi~$7Dhy_Vs^-wTz4e!!W$Y#y*c55k6oDdt= z>Kfi8@QHDOa+`&3l}k8vZY!3d8Cu%dc8ynLRdlIO=n@+Z!Xf(v9faGYazMt9Y_XTA zLVf<&^Y{}1@v$v=Qt6o0szi$GuYAjyrF)@=-;p%6kV9z0z`(?*`W00#k=7I1u zQ4y0~LzzR#u{0xDS{jcT$5(Jr2iHwwMpm- zvkfN&1inM*bf>{DmBC)=jFI4jfamO65ay)Agz=E|y4LuD{Jd_>ED;&1^nB|QxI566 ziH{yQsr5`PV|d!AkqyhtDYf%?L8JU-=3Wgml!weT zqHMz)MLSvJ%ybG@viO?iE(a^LVr64NTQJ(I4!VkpPg&{n6pS zXslpBpogEK9G}(cLaK80sjct^PDl<5p=!QtF^r*8ZdZMFB0g~EJSnh)=in&PfQHo; zxPhr;*SlpsoJ!B~COfCFI)HzT_&&&hb^9 z5}11^%eGtHf)XlarAwK6P`D7~hea#Gsj3KhGAN7gK+O$eZ?uOmL1;6j0e9DAJTRq& zrCC$ARAY)eD?NI~lqtgZx11?eqDlG6DMLNoZR&MsjWSwpOX1quY^!;&$e5wh3jHZ7 zu$HHx+qz>jNe-VZHI0VTiAhsbTmGoRON9WB&K4j8XsSaFHA_feQF+-l1)&^KUg(<>cEFBuyyL?MgJww3AbmKiHspvF7wf8GD zpEBibM2CuYP323ZIay>6=^dSa7vXKIvTd3i1K@D5I?)0;7A56id|P3*eFG9oTsxJU z3_U4K6`cCW?m#~9R83Su5E?7T7F4FwoNU|jgDH+QJCxPkdC1UXnbqa!X2l_0!93ll zxIy9DIbXPB`91C2LMB7bU{^`5sZi<41g^^l)oL;(8M}@oIzx6b2al!FwxJfPiz|yf zO?wmC-cpb~+t8s{zDsSfD+?>xy9cXeDUOD1=!u0fDtfAUDBvXE&~s8E7~hB#r_l>{ zIhIb3LPK-X2guxs$3-xcEI6NQz#d(FX4x) zN=t+$_b!@kL(A=F^U`Vjt-_Epk?Y&oQA- zKqKJclLu3f?E9#+D)9TwOo;k!=Y>Z8sCa2g{^9JK8ZpQ1Y(*})5Q78c570v}dKsMj zQ7w`~WjXJMq!jK+C(!;((7=k*Oe3cgP{KcaD2%r?H1(z7fs}~nv6f#F{n3M+?T1W) zvwD}2V`51wI+V6-99+ToZN3$y$qK;{3b)>9N`O4%E41;B|AKuPCQL)*FE)ib?>|uV z^|)DKu&Cr>*5qtPFKhp~`YJ@T>+T;2o1u2td5O&@QlNgC8Dv|rxbChVBD>}I6++mF z!uIM%(R2!GllVcodoCHt;*)jGd>Jo|gSK(sMx4cuS5f!rjR|iwAdT)SIwUEDjq_fd z&X{llE&5?iepS5;LyB$iqtdw!{amkQ>)Ee;H^_)=PBp8bA@n87g^6e>s<08^ditaXpova&K{T?tN7h$sVFM7yv)z$7-C<_|Od3D}n z5XV3s7bgm?!{OY^gk{?e6K%bo^^k6q&g{~-F(dEenSN8JCkp#khRE!@r|>EN{?`*5bOl4>9*m zR9+28gk3x94Z|eDF{}NRO~QN@RG4r%GnvwzcRr+2l_87pDDs2DPfNvNSshc+q_pqb zoRTFMgt|iw-OEmJt!C_F`EHNtG|?<;^^BeQ3#Azx4+?`=#(PNojCm0tRTvF0e7U+> zPBD=f5)Sp4enMm(W6W+`A$~J(HuJ6V_w6b6Lo0uxFv>VqjGu!)*Eo)?Gb)cx*Nwsy zMia1w<=CBJ4V_ZET6*N}oR*M;#)XYXP*suoeR;Q5Cf4+B<}1jgClo1&$2KCid#I(h zd$@8{_^G$g%}|#N&CpbSIFsS($50d2iILrw>Iee2F3Y`mL&Wv)5xI!bWi2vAF~&d+ zs1TZo4L_W3jj<@zF;V@E$DhDwWab}cHegV`8Z)ga!`S>v+^csW3W$-uKT$a5)v9xJdyVa0)uVLZ6`9o3;Ui(a2K_Oc z#W6MJ;LEj)+ykfQ&S!dYw;J` zN1s~d#5>PeuX@=e@JE4@bb3krsK_$b)nQZG`yFT;#ZDKX8EaK0^H9wwa>U_iK!ip6 zlGs`zRK)YAqrvMNshPxd2ZpVI>*A59rh4|8pS*RHu3X>tEs}96Fvyz zaoM2=G~i$FG;fMvX`*C) zfEUzo{~|x&pLmoXm|kSfI#}|?pYys?$_JG4@fD;~^dp#pL~N5?UOIPC6-2Hz^hUgM=_p!CM7`B7 z?XZHQO2>b~bsV{j8aqB;$Nw&67@bqkGPz}Ol$kgo?~I}-{X|WYOuoc3>_JSnk>vd2 z^n}6E9Z1K_P&S}zF=1$Vti^$kx3aM_IZuA_wPbdNA922|EQW9~@&EaWUP(^&=2T2K zGwJc0GNCAJT%I8IGmH5^XG7+g+vg9D>Y(Gv5j8Mz`p%(B>Mx7Mo9E99$eLyj&h%=0 z;lLIVV@9pCp$VWH&8&nd7_SL=ghxM|Jd7DmmvB>+%Wq~NO(htFNpRF7Z__Nu6f;!` z?(PRiPc$*V*w!;?QIVlf``{dYaXv&)n`@3_PcE|h*ua1=(AQK3sLYF1h~%V0Q2<9F z4f8xksTadO6Fhxs0!0JCrOtd6nR@!l$_yF_HDjoP-P9J zy1Xg;1)#XDl&G>~!qJ9Y9BCgiG-v7&G1pwX0hdlx$KZk}E~nyLTst{^>2L{p>C8wy zE+&YX4XcI3XUW)L_#tQ7`Gh3l_C>Zg zko0sfEOMxu8j+YNU{UejYUa3)0%KM#;l`0A6@I>evl7HtF9ziRMq<%X@hpg4fE#+0 za^&@NACSn$p@O#HCXKL$x8UPXEVEYxcS$lJ84f}iYI@l|3FaX}U{1HLX z4i5g|L*iN#SwV3iD(7j`H0!zw&|sY>p=gm6~dJsIV=S0SY|`-a5xY`x%*P@|EJYV$4_lN(Y}lr7U1CF%#D(ye1g49Kam*E1VGGa>*j`T z|2-gB(>8)yIo`?JCiNgEUi$J!IAD_AM=g=OBHsqd$18KLpDhH95oPKsJD!&;vNVWH z@P+bSN#+8KaLz5L%||RX4p$%@h@E;#dtOtcldfTyWW$3YC<`3Cru9n0(lMZ0wyO&t zQk=;d6KNM&RG)l}ykz*P6Z59pN?Glb%vH=jHQ_Ru`@9_ib=p4m6d?Ze$@qh;V*f-N z-b54mD;lM{Q|u8P@qXk06_cjc#?9K369nIJT$aPuTGWim7NhVNTAPJ39y@9;J2=GH zLo`arWq4|B!%5hVf64bWmrTi>l)EA$%ypGy)eSyE*xpo{1Ud)_q+d7sOiBcZ%R3Ot z-*We6a}eC&&=Tl@Ws22;-#lRHlJ{n$6>DB9`0C*dk% zWUeaCntB5Q9V`xGOc28FYU$NJCv)(R86FOuc26T=N^bCgmTM=g2P$E1I<|O zgHS!NCtUqQW)ANk1dLQ4;2JTX92GroAKQ^WJc{Tl?BS<69IK8jW7qG)m(EO-7XQUV zDwR;F-sP@T5@D)t^})NV&~=TcYD`A;P=BkLigPMGTqZaHYJP=7n>ZfRw~T*sjIW1=inzv&aWJ)nf1ZRjiLxts+4Io3Kojw&o7Tf33P1(l=e~DI zcnHb_Gd<=(9RK*Sg#KRMG{xxWlu1=`La5+yU{~B65k7`z7D(kBMrzg6b?5P0E*#qK zM}#zNx;NyNN0!L%s4N<6?Bd5##jH|AM$0F9OkUvykhBmK$sdS4vDA0r^56<=RcgvZQjbmB19@GZ~|aA zS2_^g50_3H|GQI2ksHUTt8O7O=|s(uKN{PoB6VFaXS@#~tne4==oG+eJe>(XSv?au z^~KR9&Pc!(WdZSkYq(tCDM_gx&Gb`dekSUFjFa*wZ{s0Yi%jaj`0bV8thl@bn0(5| zvC5V3l98lIWiSF#Q2?;u)jxySW||)`l4UG$P*cJ>M%(<@#DHG)H$ zlqp$=Qccw8ZaFLd;5$q?6SNIdUd>T1v*C?o(d3TgHI8!RUmBf~PR*sIOZ|Xi7}kuheWhcf6!HeG(=BCo`Z%Wi7ED6<_i$=*YVQt;;b^E*4Qm*hU zPRfDRQv^A0Ehb@;Qu0r68G)S;PlLMq9E6GfnP_K<@lrKOo|fV=;qC@DB+Gf@^_liMsmSb3$E%Pe@R2#}cB*_-mZl1Q`RS12Ei3QxNy0=!crDp`Da*a7pNxJeE)o8s={utBmK_1fZRCQ`07IB{G zks$Fu+mWK9`aRO&w)>3VB!SW@kYE&5rRB`lSWs4s7v%MN{Ea2ghRELPXXBXN#yd5J zVRNqTO$?^TeSAK%QE%9nSmK9N}KUC9o_%DXkq_3^R+nt`SuaH zJ^D(n6P7(${;=aok`KIO5UVH^vWHD##m$UcYaT*inqCK)WTTIa#uO|qxs@?SYIpDJ zJ;bhzvE0m-sjK7FTD6Dpj$1}hs{W6+tf0$Z5qYtv`$w*Kv3;SVd@Lm07k;x`t(Yj8 z*VO8)^pA+u+CIk%53t?rVJvwS==u4vCm62vv1zIW7__U7XF3EMK}@Z_2{wxB;thes zh)K*l+b+k+<+vQD4}W5uJn&n$ThptF?6coZ1S|bq&xNeKXv)oC?PHR7oG>#BBjo`; z&WH)Q!ql*yG*@N)l&(xY=zADnC77_gJ=yD zy^;Z_?dk>4tXf9;0avMM*A38$ejT0xf$+0o5T*MeBVfC)%2*XiVE1wJO{^kB9zYho zQ_y?FUU=+p1~5m&A_^HZ%lIFfBkD?~fOqf>NvG>RDCr@6osJ~_r;BcZM z=nd7q1ca#{)eTOOE^4w(q7;A zJ?GSH-;5Gr99;vyn;ey_v_wNT1rL%89_E_b+GZv0_nDv3OZq(5;Hy=AKG>b<* ze^^5$W=u?IM%&o`2PcHY)eg<|*uf8C`dncf82;Pm{gW*-y{-0_uYw50 zk5;-80*AYEBYUPtgZ=TQbR%(%MZy&k))%qTCHK?a=5cgCOsL}p%N}Dq zU$x*kepoQZaw`eWd7Oc5!#RSdz5n1zQd%ynZn&@JN`{a!?ka%uZViXnPLB&-y*rXu zKV2c+5Uil^%g2zJHcCab?jCJ$Z^*z7V<@T=Z%W!&0cdk9S)b*x9!`U~D{A59l;0C} zXJI%mQyxLTIQNYf$dPHZ^ArhbUqUa;tkMHpjcVW+ZE=P;((#asnbm53_X41R_RYbbT z0yrcUX_O+my?}{0)dA^fgn0tO;PY_ zO!zv4%hcs!Ct=wpUi$8pe2>i72I@uvabKk#Kd-v+8smX(o(8WV!@1**vllL`ZZo5| z=6v|$beyu??MZzy$@etPfSeZa@OWvBaS>fSUaa5JlNq7mLPQLDA=HZXIB};e(-pzk zyiq&!*>td~gJJySn)L>c)icyHgl#hMw>Uy}URARMzml%@ev}^#j=B622a_&gkvH_L zOxx-d3E6_=u@^SZas+tnU~OmphM!J{HmgEsPJogq?6xaYea>`mjQ(cmKZa?1loiel zXhWayw@SHn8WtZKGa)q&m3~iHvSS^Ay*P27PXs;ix?&HDgXtj%Z*GSnh|*q}C@=>k zO&`c?B+t(^L6sIn_eb8w<*jcL07(1z3v-a~So%!9EL*UdzM`qG`10Mfx8bv}yW1ZW zQ9m2lv)$&2w7BBwwfwlZEqA^TqmDjqn;DBR&s$2VBXV;9?yOWAlrCi`kLT+_|9XA?{k~8jzT$FN*^y$3TEg1yFXE>G zgylsAa_6@R4ma;d(m5T@iFX0XF~%qAq>_CL1(~<-CG!i3DFKsnXP^yY`0_~|CL9L` z_`A|n0LzDT6CU^NYqYDwPz3jts95ZA$b<#Ze|g4g=7&3-u=d3@5yCH)FuNXRye zf7og{lp{#uoNjpgYgqUyCZq;3ZuD0zJ=VPvCAXq5%)cpe#SPOMnNg#u3qK(GWGUEd zjMc(#3)%3mTlZw6>u7=^!MVk*Y%S5ftMLeWPWWq>ayd3Asw1z>M z@Dm>=Knh6~XWYroDzsi0BsCEZc4A2rwnz@CMx$k$MaA#MxXBK}Cv>NE4~fREbyv?A(m)MT2URhQ-(9=j&wZ>V}8iIx(bw3YWF{28GNu#a@sK z;=K#nTGJ6%CJE<-BfO87O<2JyM(X0+j21$ArP>$2)Z;|9BoDJ6y9`Ogu&ik$Nt|?XKOgpe*}xiq1o7Q}WTlbvoxd zz@#{wv!$wjuf$;=HHH=3<~OMJS7E<9&kEY9c=3f*AR_T`>0V8lit`vsxScGIg@eT! zfoq@I;}WhonGc`YrTk)ebsAYbxtO8eJA);xCZU7&u>MQzkA1iiiGNyBASaS)e>f?H zA$6y9*`??f9CIPgU-=WJW`Akv}>G8(@3uJGt3~pSL}uxhoz3fN%4`QZr(D( z8U%^)Nq#HRF+RV&+=DcpyHG+a$E=PZ1!OtX<{f5QX@WJzVjM^gRQA0KS^7PHRzf*~ zJhl}BU0qm@f%T7Zrig~9r|QmVs(ZzVP@OWIEGr2nAG5*Z(G2h;q6sOkI7MW9`mEID z%jdn5Rp5ZH+4C<3Dl9ptehpiXYa_x@^@1*4M|MB>1*(LH4lq%-?wOH{d-#X3T8YX$OUV5@0*< zmu?bPYj0>Bk7*v2@@!IFPtvd-kr;Va)8*FHNe_kn&$uved5bT2$E*#fd-zm?>4_+c zE_)Y;y6*#>&!v)IIy(Eq z*>RPTbIdMF(xq2Hf<*dIW(1nyuKY+v+v!RLmcyX<I{Nf#M4a^b%Tg=e70;G^y5{= zok#^^*^4+?dUy<>N+4f^8G;V@kn=C|+7hIgPQ^U{X(>|@;|3wP?48Ehpab7;fvV!) z_pov?i)#8zw|S<)k7Bn4$VJ*VWS!Q?o^_{W_% zbOdL;ol}}F>NHa_W~emW)uvu}WQZF3DOg(R6w`0ueEp->MCycY|W2* zf4qIR6=HI{GE_ckk5d1uSom1M#V~@-snNePJI007o5em7Qcv&fG1E7hcJ?EcJ7OhE zL|wA6J)IUivm@Ef6?gY6@1IWbWj=m(haBYPxNK3535Nx-389R3(p{D-Akv&oMdbVa zn&AdFa!av8SC(hOo7r^y-D*AV=yEgm9yW#-U~0oGUZ(j>O@U1?Ve2n)lRr}LuPS@= zEHCg)(ByN&Dv#R|98RZ4n6+*!hxi!y=<}h0KJ3Ej1uSbI#1>m<&o)22)0~8vwt|+% zk08~t1L5Da%{!M2KJCVDYAqr%h6uKexlgm7c2;<-x6Hqk^_CsSO6`}@P1%%a)+CYB zKFQMe%iwSX(~U@18NQFuIGNH*Vpj^Dn_pseN^1I7QT2$K>+DQtpzLIe36KnADf+*h zf$|F1zFYM=CSEt*x1{pTlG2Kim`LqU^5k>n*2p?j$KWM{N>uJT7r*Z8nLW)Y9 zj?a`O?FYZO-w2?)Nt4#>K}%3ftdkJ|jExFNDd`Ls6rj|-|8hmblfX0%O&5Dqa*R*+ z1GNM>nVFF_5dkke_$R}H9>f$A>6Ng!!xs035E5e}WF7`i&OKn|8`$NcbE|M;T$*aw zc={@KYSO#A2E{>C8u6@7%E4RM2;ZXr<(6W`zNAokcvK@=btxjSQc<^Hd^53axVn`s z&`rw_xjd=U$z(7-%Cbh%ZE$G|9%i)*uJS=)Dp{jiY-qiO37V*#xUj&XGYiF!lF65CB9I33nsncs0PW%-2aCf-i!woVdKua5c2 zt&Kv`KRBz7+gdlcm7KgbS97>`A)xpelB*X(;CNeS`p49*7IB<0cr-18?EIF zJpsf{AwXqbr!h>KzbW@*UfBS!sB&wmsoe!zY;@l z_p6sjK~t<1( zJH;-;#`1aWjumSVZKv4Qc0fb$VT9mw#>x@4;WfV^mF|8x2S9lFYAnDAewc%=lc@N zKEgKF5#6|LuZ-J>8dkr$uo<^eKSEj2bL&YQy0&+hjp8KwvUE!!80AbYBrqKJIcjs1 zMr2s*96B&j#@wMy{>bB#eanfU#F#NP$PW?0a_UUqaqyF=1%GEYpK^Rs?f<8f%0L;% z5LHP5(4G1|s(xh?QJy{rm0iT;q*$N-^PGD9&x49{%D7hDNl#=5V13%9JXK35xk%&l zp!#-B758lPxuodz{TF(&cF$CG;Adwo%I>Q1-9HY`_dmOhRe&Im0Scde%3|9(-Lj?k zCz1>ruDcpD9Tf8A*7z)3c@$=VjKBPG7LN3Wsh%LljIe!LgR!bwc{$4ae|yTv!)y62@hZ)eD-D@C?RZ26Nr)5c!hd*|V|E}4Z$VIf>D ze}iGFT(8s$^bdG{1%2S9D|kQ+r%^%+ohXAr0>do1?x%oxJjsHO1P06MI7u@8a@;>v zo!E_5ygy;Z(25WIBY*L70^^-ZU=3i$_bmjZ$tlXWiBQl-EDZO$$fwfUsuuVp*^xSh+ z#rQ=kY2CES6sY)-SHV_%=2g&iU&d2WtVn$OTUw>eOuQ`eDhc0hC^*f`(R1ZIj_DQe zw2G^Fg8o8Y#p}q5_LDX=aVJmv7;n=F-f0zQXi2NQ{964h_2Y4^nd$)_90fOsep3_} z6TZYJ9yYq$FpHz$+NNcWg8$%{p`g!a(Z{f4NaT8yQ+a2y#a8&XKvuuy*=k$7EM2k9 zm`J%PEtu_3lw1)e35`s&{mj|yEcL>>G#p6MrrveD>d#v!H^~7-f|}%ygiV;c*Y}J~ zu|{!mZOpcE=i{W0n%~r(RZ?*cDFUk?WVOE>X+lhDPQ0`X#+KpOC`)WkyHV0_<%+ba zHPyk^w(D1Ip1kgBeQzdfD14|YTor`^fgv>zI8Rf`0i8e2L*8HoaNilYS2qC&qE2<; zqa%6q>s76X5813|Vo}YkdvuS=V{O=&QH^0_gcwij;4im>=3yc6%6Dvcj@uUYJ)H`B zs>o~hNTAOO&leS-~xJy=t{i->Q?DM2*B>4kFcCzyfIE71gd42NIA|0cTPx>N>O2g+*oVwAIa zOd@rtNYtMwPE~D?(dPC2pa89QV|H__!*H?;_q-AsZRDBMoZu50l}>AMB5>e92pDyj z@Ht8XqfVvnWoXpVs}ob7*eE(Y_BkZE8qnx5$apHc3Hz#0EVq+>dIFWkyZsS-RjAFfG{JFC%7OlLLN*)dRMT=kMH0eIZy${v8KM+A0qR=aYh-qX3dFO(C` zv_AfZbzbiH#X6Hm;q#h`6<4yyY2LvOveRXn#jG;=#5%W)^Be0-pu~*{F6jy}*DN)A zZir$wU(416^J;P=`uUM!cxUM&VEffw6E1Z`a(?& zHxK%HYZ@1X4Z^l`EVh%BUyrcYX&qO!bBy8FNoQ{TmwAebcgj7sT92J|NXmzo72|ET zOQc(R1(o47Df8TQh)}5&)cCHP@Yb7c{t7cPqO#yCq=}h!S4-EpZYmMD_3=>>9|1wn z;{I5mC7vCrBvj&t#wi5crRy0pGkg0kK9K~O$O*^T=jS6FIwo|$K6qh0u!aedA^0;f z_L3%qiwX7J_5smrGc3Sj>k{}$HJ&Hj$(ZU{k5V*Lp;w_%davd7=y*iwh#5L=6s^4; zlG~16768xBfaNm3JR+IpB(-?tjbU?ZqiBs7%ysnDny9;%$y^yt+koJg=^sD&4 zg>A*dr^11*w&BSnO>?JbB2c!<}b-MQ61?RsgIpefy&(DT$4I{m64yVyvH-K=4l%r^h!m_p%>4!26Q| zCUA4&q6+k**cU5)Lm>qm$gdBo)h)L@ImOf&%-(eTWpqSo*|j4qsqlj8kLUmqUSK3Y z9Ff!ia!y^mvPg!N{J;n&z8(8T)!Z&i7n6OCZ+J|QAin>4sF5O{{Dm?c0pypPWsiw< zn{G_d$*9;k+=&3BZ6~H$WN>GPJ|0$VXjLHldBz$Hp@(HSD+1oNQ|7(89s6?mT5Qkw z@0zCWRF}Z6?k=A+Z29`K)eIE#`)#4EjYInNQwi<;;hbb%${9MViUy^oix6cma4v@xB||-(&zJ+rBxdY&o;K5DZ_1J zSx2j20LNPt|H0iFDb{7Ma@3SmJtR)XV_v2N3FFE;rH$8#>A>rk2H3}i1=aKA>&tqR znUP{i+)0;?(nT-ZN%8r|JdC!?fOLjIHOGSkK8t)xw?)_%2&iU0A<0+mNzw311XNmP z1nttr7Te4x3T~?P>%Wi9FHMb$6hCH2awSkgli7GX(Qs#TLb^zcD8V28q*#l6nYb*;Mk$4xmQ3R~8mek(_<=~k#3R45ox2xWlhgNAI8ca0lL0>w1^W!!7H z$9O|KC&UW;l2vlEQzlrwcAU1`CX$oe?e|tGVch-x=*S$LWjs_27#TR1Oi=^pUIn>5 z&;wJ=nw36x*19h%COl@`2v z6Zdrw6Vf^n0dwGxqzPN?14+dDMgvuWRe#?t%4d(e!Wm||)7O*t6;hkL)q zw!1zGf3oewa2*25?d0f3!|-1>h${`dgR8`yMB3$Sw|zDh{5o5D8sYomjp=F4lFk}W zD>#L3e@@M|zr3&X_~I1=Wj#H@7)Nl2%Q*cO)#t=+rCzjrU%Q<#j%@kcF;z3zb{*Fk zD!jq5Md>&G{rbM@7!aYMy<@2n^=;o-^?LQgwU*4Uywc+4)Dv7i-SaFgd^_;cpN*i* zE`IE>s$ZPhC;m~^>m4RYJ2*l=2NKG4hU;65P%mWQ-l2$k&BvEHT;X^a^M*57#P$w& zq{*X*l#ob-!8#lV-S(i*fAp zcU&k{vc7NRs79~P$jB1-<5?fEr=W>v-{@5JWQzTr72dc%@Ay^-%PKF2z*vNS17sn6 z&u|Ex_ zO0S*tb2c+#pKbL_>{2U91VBldbyc=u5XOv*`z93AqxPbW!oPm0l18NcvO1VFPkVA^ z1bce$ev^7eDO69Ql06-*0GuhG$nQ1x+$@+1z12&MWo+{FbI53=n774NQ0wBpv2c1ku-}j-NVqCMO?P)nGaW%rhDX8Ea&TD?xHd zFnQFtFLFPEL_?`i38=^VMXHWglI74`XrlJq)je&XIvy{*>=dP#B)Q{MM=g$)XuX*B zJ103SY1JIt7M0(GrBLm}q>W4161s?c6_hLMKj~){)+mkp)t5oasI-22F)`XVKWf?uazlw2>o*F#u=vJKs>emaW4Yv7jl1doBPU&~3NEXX z=`rj*TrIE>?ADD&hDAn4kIM3*5vaga9oC}QmPH;WT1U64hEFN7_qt0l+&ihihDb$( zO>$+whG?0^P(jd=fX(06H46t@CBWfMM=ZVE(n}tAxxUxC{&Pa_b1U(~|%L<3VO6t@7(t|P( ztDu9z;Y#W0^z89vLG%7d3RowpqU)W6ignzTpv^0Lf}W2l&OXhh9&*L7n?*pM`}q3x#{u^5;_KI+2iU)juOk=phXMBQ;_KI+ z2iU)jujAkXCHOy%uYVI>_tziC*S`<1U;l^kb$!Rz4zJ74@cQ+~@%3-R>(?K~*S`&~ zUw<55|318a{U*MyzmKnf7hb>qIKKXEc>Vg*`1*I@_3Mx0>)(dguRo8kzlGOrW_PXp}V#n-Pt53qk1U%&omfc?Lp$Y3hSe?*4=_e6$M ze*J$(WY~#^{zqi^pG1c8ACcidBE$bSB17Ei|0W{C`2Uf}kdoJ@BtyBq1JUEG#yeI$ zAL0%O-aHg$rB2hgp^c8k=crJx6lxJsQ?{MTqRj$0-D1Fm;%K~?DKWp5-J)4GmFP8-Tjmf)gqP_rYR~4)k5P12 zZu*S!tM-v$gGBtgIXE$h+fC7-khMONc;ep9O!H|d#V^u;aCJ%YWu_3-lXFvvlvb~s zYSdV9Yi1)wN>*yd2}`Po=1pj7yy`cruvu7SMHxpz?a*HWt)udhR;94A-^8mfJPsl! zW)V~>AE{eC3^{*J?&@KMD@X1Z67olG7@GLW^f7iQ++woJFKP+TNB)_fLFHzsWuwPU zV9Q|a@{!|~$!PO+)8N!J*PABSGFzXCbQMCBk-2uQRXK}F#lNr*PTrHOkJTPLsZ8gq zTX(qPC5r~=KK(`nVn-<%nV>;zIz^cV73g_AK41sw>5rPggtl#~iCesooS)|d+Q^<_ z34W-sU|(z``*6MC6U)KBF2W*VID4_$_>Uv-3(-jJ-H!4QWsID)QJ&YYR6l#;Kr$-p z0!0!c8|MN^bXH#s`68Vms<8l01%w{-k3XQ&*z^}lrG{vOoJy-$1ibm{1B(qQ zcYmeO+9-_Q27n7i&7hcXz_%l+_Qr&pA9!NM%?oFLR5}6gNk9mS-mLya{RpCW<{N^v zw?_U2b?R$=e8V^3`Youe{INX7B|+r^pKWz_T5>^JsQ)^NG-NZJ1dQr4t@X&`P(>$K zZ5{qP{PXuHO{IvSrR z;X9#-aUCvj-CPD;A}Y0g`$7QQ9q4!%AEouNw90lynDzZU2`Y-2z33PiUh?AgJWdez zkU7!juSq4=S5DJ*+}&Aw{nynVjQ3pgKoSC@Hzh38pWgh)@hk-aE{3zeYx6f5+ zUM~~txQ9(iK8|!> z*1O_-6LPl6xy@_c&?*~EokPP>5A8tRRyCMd-SX+j3?#}=`}}i^6%TKi6F;rE znl!~WvlUmT+TE@dmv`Jg%(xmZ&3(<=>@Gem!n_50qNPIg@Wa@!wv zobE{b+HqCL)@#Ob*-$p$1`f0_bGwxk%EOQ_tmcvm)}3x%X~*?5eO^PZTxi=LhFo~e zdK>b%H;HlCkn3sGPdk34zir4B>aKnbxq1%n4?FIzgl{`e9s0g@JYIX+T<4mz_2JGE zEw|aT9hV~I`DVu@*KkJKad!K-c3gX)ewgu_e@!#4LNYHlC8r~OQ|E^nmqg{7X~tvg zs)>fpxD&RYW?W6oL^QD-KkNjXAW2}J4>K+laMrgO&*FGnaV2c)`mp0MBcI52{3?jr zj_Wz>Z+2Xp{j6)q<6(+JW<##Tf_-O8Hw19#g(gF;tz7ywRk{E}TLKh3!0{!h7PT;1zc zfOpM!O7q)Yj?CCN*NQ90yg!Wi_lei9pVs;3IIH_D&FhZF|AM2pU$;B4@TjUW@zVOs zO;$6$lJiZC*G>g6sTEDyNo|YPx0Mx*+XA8iPZT7v=}4t)xZBXgqGsM8DGMmA_c1#HpOLcd5Yqt@MfV?EzO5RSA6l zzvJiLvq`p;RrwRO-ic)N<14Uuo}%5j!j)ZBv@GHlkQyFjVtS+f_ZiSt1AJO3x~xF5 zS5p*B_U%C7(xMPz-^&$uM|ZWGWqVLn?QZFG%o^*DTX#oJPRz)7yX5HTLT7JZBnjg_ zGj(t&+r)nI4O>f0%4;Ev3*&Q%SIS3dxwqVO$ZET7-p(&{nw_`DV>Yfc7Al>e@Ohe* zmI71GCdE%aE7LPOVwkk18h#GyZNlCOy>rrh3L4c!7qQ9XUdxK}B{j*gq`u|D{&Y*5 zhG=;Fg~a-^DP0%Y-bp^UB)9Zrwnvoipy>NAc07ri$mtEA0nIr*e}U2h$GS|>ko=_f zBvs6jH?mwM((m1!4BT@X3E{tg-G%@SzLLZa-RT_DyhLp&)wm7ZpEH>p_SfBI#$}uXgca{G?wOE+<6j-iyx*Uome9C z-5!%=B=&tMeLj4J6#h=T%S>JcyO`FYrV@reECR4p%OA!jF1{|&zYjT; zSj(2l%!Y{*;pl87I&Y^Wj^rRijhC0QLhLxlH#u!Z7cCH{Wik|?b7qsX(dObe!gR0& z11-@x@o>uLTBb6gIo3T{7QMY_EM?gCyZyxyQJ^^sb_{q63a7(2w{b3q%guC}byvfe zDd5FCxvBltpJWn7W`3G3Eh*(;wt4X>>HU-PPRwDL8jEafpA9~ktW&cnmFHc>t| zX>V6>bcJx3Y|qYJIXH#0Cx`an*Mu^LvEwGkwg_{vlFRf5b}n{Bd!i9wo`g1b3$$4| zxwotZQg3;_LuXOgH%VD{B-_O5tG>@|gDA(hSJuR~xOgx24d#7#YP9;d*@hSc*oTAE zXS|R?9Xp#ka4}nHHq^0hrv(09nrLgk4SPE`Z9F7w)-10S1e#`JVNFbqZ9$rORntz3 zw%n%Hq-8zW`pcWgT@&{4!Qtwy^H{s8SrS@}aP2tNJV`!he!5~m#;M1oI3Uoc2mrno z^1s9mB4W8iU_|8l3nSC0_;&~5e>9Ap+^?lpsQHOk!NXxFV>NdNLIfY^s2cn@|>x z$Me~V2J)9WIPn3QA~{^^UDFay-wCtokx{IaOXQf(Nskgj;8xHKe$Em zH4n-8%9BMs_R;^(Y^qD2#<)u=T#gdEdcz}&X7p5^=N4yDa;JI>WoHVDMy0bWtMtm1 zPhHR_Gj%+nr^RD5pd-D!@O87r%(tmuKUc@kajqc=W(Ol7nil`76!LWCd7%a??0V1# zlKHe59~bg0JI1#GjE((dvyJ7pZPqhuOX zJc7`l*P7TK$qk*S!EuOe8$7R!i8rMHzT>S8EP&8Sb3$`*^p3Xp=a7!{yxWn1Y% zPFpkKPz>O1eIn}Y#?WevFQjA!>RnufYIKJX;}}M4{EBh-cDiWfWJXn{fE$atNNm3D zTUDe5dPh7LSMofF7RHpUY(MJ%6JyaPI#FFbeZ7tDvVle~nA&j=^}gbZzTUqqyWS|+ zMxXFf@}2hq|07mK#2K9yLs~Vw^4{ou8dF+(;gkjYT3tiGhU%!)Tgme;JV9M$;jHLI z`KeC-+qf#4tjB~GNu((rc7*(i2z28oVuu87)Mz6cWBNzdwxRNNb+Ia%DAU#Z@p#)} zS1-FsjpM~C!L>~jOqR^=D<&vcnOPwgF${E^5ag_SPp;8ujH@X>1x?_H|F$a+)DXQ% zzMtZRU|~d$_y?YmLxSLT_N+Ac8dj576z#q=kyQbPv0E0&xZ8}{mNSlvf(OMJ9NL$g zlWm1}854!Ej@W2Z+BI|mR(q^AU}>%Bl|eaxx|4)-($}58baoPGwWPNciuq#M#EPvX zoa6rV%u3qR=y|U~BKQA}XT&$y-)(vPKJMe)vO?!k&NRj_soV%%`$<(`C&TU7gbzgs zawQw(*}-H}A*6V~OJny=SE|iiH>Fr&eHH#h4SvIU4wo=^)!3^B1z2>scv$^0i*I4Z z#kf_){Yu5J*a;gFo|LkBHJ@%m_=tcA&R*_T@>OE-MH|l8o+^n7!feoE`k*eW^aQK> z5F#LIV1yW*{@_6!6n5E{x{QiS=*_o%YtCPFdLHy*+39Y>QEHMehPP|Lm8vi-dKEEN zW_=Wj%Oo1?vrs&=;<)GQwB&^pG{(Qiv$>LQVF80e-YCcrkU!{yqH(OWLD-|QYe0tp z7ySq_K~u%*F`;%3WBD?RPMNnZW#g<%^b;zP}@>%yfWr{jCh6$xp zcUN23EN1QeCjHbV?CGvb8p>bwlecCx%wHUz!45r?%Synbz+YC~q+F@^4X$cB;weSh zjel;%yeOqnkv3`YmA9^cFTC@DxUGIS>tQy(D@&nFyX*7|%fQXO=i`Obl(5jlD2uhF ztTZ*YtTj%rRBI^Uzj^_Beh$;EoS=Vq=s8^XbU!k%9`U6Z>c}DT8`CRCBs~=#4OUXk z%j(!})h_A}xGXwwX(m$LVY^%Lmtwnh=;}A=204nPeTwTRzqSNYPd-}*?DH6Jg6{4r z+d?xOZ8MQ1gGC!T+P-}n^z8A_$q2>vmpd@U-S=t0RcX86mBPf0rSHizPei|Ezhp^rY{Ss~eI2o;9QYY8dTyb0u zG)Sea`aQE_od0eTSzGLr>aGqAQH~gkKi5dN$!@?;Z1W1O=ruQ&LRE)?4Fy1~moJNM zO5!6g8*Ev~3OhEe)j{56roFDkHFQhnZr0; z$)(O#QX#g&e1*gZF8g(ADRMM$VE$AyNGjhV4gxD$TQ-V4S_i;V2y$D;Lkk60g zrEcW&DjS8FjeIqCKI}YfjgC3i;ezYIZM+bg#Wd1@DsK!zU%0e2>mT*#=nvfM)vai$ z#sg2MP5;Eexor!Edyul5U*EzegbU_Hga@aFtZBmQ%q`} z?t-O03j|<{dbt!~VPZX>tfhL`P*fb#4@Mg-ecL$jBfU76yp*g}FI!*w=G`OnU0Xj9mQL99MSB9?*D6kB#tX4nL;mczCiEn^W6SkJR}0r;tF8 zIGmVF4>sa-{YAwio={-47%Xmh&}xbW6EADJHC9Z}Bj>?Gj{JhN2mGkB%*$#G(PHPD zXw{({^Y347gsZJ^8a%psDf;m2Qbx>fc_<&a%3c20YBb=}{w-uqvKZg_hT!h$AnMK| zQMspcE4FZqea1_6^zUy|Q0KqpdwvX^6Pm|jSTrmDS5J&ebovEITqU+(wFf)Nlf{vG zXlXc=^2Qbj&zalB7+tBp7%PvVD)Z?CjE;hc7bVc*q*xS<4Dv68!Arf7SP4`;ETH0P zm!P6kfvgcxusb8n;iN(wQHK@DWx2a{BxpM4(<0X~n~PZvsGllE8;e1Fgvi3>%X52-r7Ze4F(u+GOU^dhlkB22MV>DME8A}<+9O+>a^p8qfCpu`z39eqT z+hWGUuC{uQkLx;i8x_vhy)t2VoChK|;Rc&sc@Zp?q`W%%HdpnpZ*RtxUU1)6-XTz- z4Dz)1Vr}(xH=|?Vuo;btB&j*{bt{zgP9u`^zdzRsU8x0$$c0%NY~X2+HJG&8(7eVD zu&NA4Jm5ZkU7e2RG0_-rGIf1QIJ>`_-SugosnZ83vRoEh7?Dzp3rE(VXU?`S3h67V zI#FCa80tig#93pjZrrw>iXD;I)boP=pj)Z9@590r9hWC8s&{krk%@Pd$|9#`82!4t z9TUsLn254`jfacMgoS5Zt(ws4rPEy^7Cw*yljaj*Xz?jvaFZD?&p}0)fbY@l;Vu&Q zBh34-;v_(vEHfoyakMG&uAC{#=Z)brcxP+p;Xov+nnai$)A}VFMpH!IPKg^J%)qa1 z>)&npWIDK-<(DeyJv(o**4|j07~J{Bm_(fIdN0#7!gi11nTq0&qWzeV-K>^G*(n+x z>Q#J)qLSIJey0@o!nmXDxRYrxyDJ#CR4Y?eF&n1M;Z?H~hjSjIC9+(xFljKYce?Ng zrj0;zMqm=6Rr=FP$IB~Aap1h=c0F|!XO=v=DSKEFVhX*FxhyDD@11ASWT8@DwrNqz zsjz#d!p1R^1N0S2@*7PN)vpp+6j75c=x8`aTTV$Rl@j|dqOYr6ud zi1mK)6cwZ^N;96KveGp_@Dvg0$GCWkdRMJCo{}B3-gt^+OUehH5)(?Y7*7cTq2l?A zr>H!(j+pJ+8E10$3Gjii8^U?}?^_Y=VM2gDGNg zt~Z#1h(f(!ia1Yk>={fEnLz=N!4wgDdi?-Xn%#80?1o;J!znRr`X`PO1diBYuf$Qr z@NiToT4fN-G1c|)T?Y07>h#EQBDgY_c)d0-| zNQnvLfbru)2cmm7$_JG&#C$_3q11sgub>oU5rHHUN{N}{Gc8hEp(P3C=CLSZPdp?sm3W1MU5u&d ztt*oVrV^`S7(v0GjG2c_B7Uxx+AJ4Sfw=ntskED|1X2;_Ryczo6)*Vpfv7ZrkNxI1 z#X^g$k`WaVtL7)9A|925BwRN^4e>IG7PRS1lbn2HFK z!fC)%L})$bVk+W&&QDAwjw?|o0aY{xNdQw(lacm;snBj^T}*|>GCMI9&d~0hKbT6Z z$EkBm{zN~${>D^jEI2+e6=`%712cOdCSrW!WD~y}_bcSIFQS6nNli!vL6l~!0!$@L z&^9=vrj8Yz*u+%Sf77r{>Vmj_+o%c(8Ug_TRp_BwKTs959^Lh#Dr$gQccLmUP4I>i zRf(B8K0p;sw2P_e6K&ml*FWbAq_bogUrSJ87u$tXq!zY5;S`jlE}DXAp5vk^5~uRA zOXEI_v$>j1$LYRkO1vGh?hL2cR?iPKMU5Q&k!DN1^Eal~OuJypi#6n{Q1xKg9)F?L zmYOx<45rXY=nbaCN-ot`WnrV1nwXZZYm~$#niAvVt0Wo_FS@KmQ%r>3<)SGq^UD`a z(JtKyrijUC@PuO^qMI-444C3=FYyOsDeVHjdDc9nh%S~Ar%ky~3WR@oF@{ofT8&RA zMdZ>tE|ens?L?GzeV1;-E3p(Gl0bJrDXkmU@KGIOd7T$ZiGvs#f}oTa7JP8rtBSEN z)i}Jdl$asJ21^Nh@Kypm8n4k`wp%AH_CS(Ueq%p&6Tnhrus0yYOnZ%(XJ9GVXYqcF zrG#lDeoHJx_PQ8dsaWV{ZJ01~GPXuz1_~)7^M^R;F)pSwqy;C!PB2AA-irPxO9dAA zE1{Ga-ENR}B5ZODrEnXc7x_eL##e>a8jllffu+Q#m~a*@cs#h&v!QQpNTaQbrC^=O z`hlgizAYGgMZEg5uS2y|yx>M^LcVQR>E=6e!y>_V5tgD=)GX!M({|&rc?WjuHiD+S zT-Iad7*_#3$IE^`0hQEPOhiT2{JbF*sb3`~e&743#rJAuDmg>s~E=-rh<4U zztSD8AJTOfR6*XVUrjddOg|1l6$R@er2(qMSV@Nqs;FXcCZ<9~ zA+HcjB@zVkkd3L(>U&&FMb-Z0jj6=Ai%lg=MW1lMXGlc?i%uQ4lmpnGkcxV2TS3=l zj^!q8m42}z;~P>@w#52bi#lcqSs*GJKPyl6%(f&gOhsfrl0HAjZ#jfy1%RoVtigYoZ?nGH| zsnj?j6_f^@nLN4JfQ>;^VmVglpX9xiOid=DBK^(+Y;Y=iZbFX|QBmH;$C#5za!@az zB9FH93#cfM)7J%5q%F%C1)`#zc-lo&Bt&QyCaHMsUq&!&K8&Q#VUI8BgQIPTymC0Fkli7jn1G5hJ)3V(Oc=+s@pA%ywYGfYDRgxFb>S2xei(zM z$aidSG)3JPpY|)!6!JjsvV`LiltZ!2jHbw$tSkZf=1L8*&+G*U>Cm=K0%5`=(o}MDAAOb97LljGBW=6$7X0z44Xz-cF8hy)ah-@j3=6+3Y|^LLsjo>rDQb0 zR*-1sCz_&q&t|MdXo@amd1mk(~qNi&)K0KagTBD&9DlM(@eQJi!pIC}Qg#E@+Vmy+r`y9v9I51!-t$pb2 zNyjDvla8?6Lz_>p8?Y2DO?@R;iq`H-sXQ8&)YCq(lxviYr6}Sy(l^oBMFF?v z;&h%X-o{0W%sm2@x&Cj!Z6^xh&2ih95!8o1<^F_HbT)X4SkpL3Ed=$=;6Xwuvf1qe zN|A=K6Yx4Z3a8UWQevhX5>ixBpPN-gQ8elczdDGHloB%l zQHD|^Y3X+?Ws0&AEo+udUKhkekZ0bG0}28ov{Mr1A}Pw*|4JN1<|Bzwg|Yc!zVEO% z4W0ms$6=5jcxq^w4|9({ag^X+P@GZqxKIGp7KnA+X(pt|+zz7JicOd**~mtsp~eOd zU0d;MU4amNCY(dJd{&gI=u4J+-*hZl5UZ*?PmsC4SfAz0Vn)oPHT@%$l&Ws$>z_rX zLY*w4;ds;Gs#jV~2xpdD^Fc0dX=qp!iJBhK@iXC zh2i|h$#PsJlt*eJ6k4xDydBjRQ5POZ>Bu5XsW((js0rbbM9k+f{}pD}Q5S(1->@kH z7awhyjC`CA8Z`;~QMv4EUJLaBSqPDRH}VDQOfYIT1v?ARH&PJ~nh45a40mY@S%tya zf)gi>>zCe-62H&Gj*5`~VJt39K>t_B#%rKYY9*EZ6q~?OS;{^~3dY5g4Zqn7O#(de zhWnK4g6dgWs761d$WuA*KKu!57JPTu~7(V+? zC`HiSOad{G7^2{1dUL;Vx3tH@ibviIRT*9PgI6X1azKs0A#x4dOnIci$udBRAut|r zD>bW#n+#g#lVZZ!ELKTr^02qASCNw#liTU2V(4@$5gMVGI&mub-!od%$%qb5kziT3 zXp8XTZj5sR7lSCrgA=(B*>lYx$()Dn#2JY2=nz_4Jh{UQQsi8WFFUxFR(LTJBmCE% ztuvHy4$w04b{`P5(pRDB420QBd)dAv{ZK*x#kI~+ilms6z6(MvaZ!rhxrme>j3`?% zTytONG5ge6oVcv{&anKW8DWIYF=gD!LqVg6e7;#Gd~clxPI_I@_afuou^6nANfr_)oJo-9Boc(`w|yA6eM*5oEqvASJaD%a&2uFS&}gNl(6 zS;s4yF$=?yCiHEmNffl+MoQ%-pG-W@HqEiahfqOv_Z254BDf@AQiP24Y7z)+MXN& zN_#!dI>w>kjt0WbIvr>@yGCGtatEY6<-|ZqAyV4v#aak_(0_3?N!{ZB#Dr<+D6ZNbRG2eK_4FE<8@W4vc4BPE>r zQ94_;BbHj^$@@UnM_Js+2Sa%ZW$oAlK?r=tuiIZ~JaFjGgjE^F2GaJKZuLA&9Y2G3 zZ$Rjcv9fOv$uOk+v+9?QqbOnJ8p4N^H-TVCBP$;>8)*)yD`<=glTL>iQ*wV?dlbK+ za_3Ws$YVm{5QRMzW9oTB9>+6sD$fJGQCE#Ng!Di(QBS%kzA@F(9rRB1Af%y+Q~7Sm z7+%ofal?2D&5D6*rN+G*g+ad{yIM+!bjzuHIb+JP1R4@$Y3&1K%EwDB@V%$OgYOW6bAIGl6j$#CLby28u+-eYzbbx4%?`U9F~t&Nx(q`Mw-Ku z;|A%pP={6FFp}-kau_g;)INB*0=FTpNiZVZSH(b+cqLC#NxCl|1rjVmn4sSb_ArBd z5k^U>TBt1ieb;d>YraQnS=9Nekgr+1W|idTKNRDAn?OAFGqn3TPT{%1=8q@-<%9l< zW|7Vd#2#^IIcrrAdD8d;rr_Xq?27x6TAN39g`=Qm#F!p2NyKh(`oX0){lY6n_XFhc zVUcg3`atqxHEm8V_5;>p?qbZ4d4H@4X2FgqT3Y-jn8V}aTQikRWgG|ppeeLScFrQ9 zF{k3KM0~mx0!miehUAbzAJJS-x3#O3{+#Zlh}|4V6bC+EO2e6~*R5+L8=%xw_Xi&P zbF@=FRQ6pBfs=JT`>#|rI%zFCr>g+asHZ#VS}k3aw3G6*#nrD?%lf`devX}bZ|<{Q zaJT+d>WXs2hjdJH!sc<*(X!X(ZC=*g{VDpKEUTNL0|VmJvJN|}Dft-5|Dfps>1DCJ zA_fxXMbiUmpP1BlEK@Q`kM+k*V}{_^7}FK|I%rXFCDqG_7YmrW)c3+<>}GMMqt-S1 za^j}@WGk5%$0Ciy=)x9B0SRBvRNm>?3}L86b&Tnt(*ad_YNoc!Lz)&cl$3YTgar6P z0aZl2b@hy`u^G{ub>O!#T1mOCL*0)s_l8WZWtD@bg+``;{*6LP$h~hc`QwfQgzbXl zg<-4x@X`bV)U5RwOCM~t^n^NWC^akFM)7qKg?`hTkYMSP>GV$eK+Ve}u_al7Xqv>6 zpb=#>RqB^1fSh@-lso)1NvQ?(+0=odMoos;rzgsc=aMO zmTH{FX5+`Eu1g(G`DjTJsQU8-%Ky06wInRNX({fL7x}fFTSS~+QS!F`WHmGL8eb`~ zPXatXqPHBIdhuhDJtd&$y3|A?v=&-&45Z#4LAXf?Rp&}ECqW{?EmL%`7A6QoINA3T z?g19V0XX1>mN6skz)E1%X*?sCNd(P&zACD{Oo;(>#ip7TcYM4rCkoYpij^ebY_j=Q z^%Z%N^uH8L7t-31`9Ak>cxdjGe<49-rMlshem7aaTvF>l))q>2``r^7YWBi~K0~|n9xPWDb z8`%U|4mwSpG(2?2x}m-)K%zQ7BIhTp@!?TKS2;Cjds3)5Xt)R5RT67a#U)W;wQYN8 zLRxF(_T-8hmO&f2<_?BU@IW}wG1OKMp6P-5JL4<{Kh_3CQMn96vtu}6{JS65KsT|t zk>~w`ro-jcT$>gX&I1l|aLNwoJBKg2m|Q%>c%uhE%bVx~|F!T53En@JTMr=w5^px1 zdN7MrT)f%Qk;jcNUZyb4rNIQ*`V{sTZ_Ea#rZC^vY0SI?QqyWAUFTm>^QeMS-#R=kCeis<>Ygm zlyHl{0k1@|dGQ>Ak=96d>Vz5)QIyu`xt!H!{*kEX>r%)iWM6qcT6>WzG1-gQO4*ci zOe@z=c^EO&3Yytya_TKSa5n_Z5Bx+WeG2Pa3ex3Ti745cP)rcu9$l`Ol20Q|P$x^d zaxKU#tE`1D)x8(|UHv=7G+h_!k90T{+(~}vBoh-q`Y`VI6Kd;ICiTZLp>mBt=DH2x zm`3hOF1R>CVrS}RE0VNDBBv1WU~(KGBD@sSF!G2I&xjrwF;q8?V4bvl?P`D#9U-X< zc<2EWpyljuk0yvIq{G7liSM=)lH7}Mq(o-K7gH65PCoNAReLTlwb0L08%HcZ#!`C? z*c|*bassO1kzDWV?L!7@Z`e7gP^wQd?6uf}++tc^ag#$435T1128i6!&d0J)KgXr9 z8e9fSI~l71LH))yRrkzbuGm{fCihn|Bl5^20xrY;wquNiQ-N1%Xp@g5 zZLV97TYgdmTe4pH?^6!BKe4S=Ex}Dqn9B!owwT@j+~0UMqS>b-A#N70dMku$Q>>4U zAiT;CIy6N>jbF?OLq_`-w!!_Y6(@psB)mqNdksAaIBhR=guQ{E;=TrjQgNU{vgy9ZoggmxtVr!f zXQURMLr29bCh%D2?NFViI_O@tMGr#W9^Ds&&vf@!R||=gjx)Xe$m(ek9lC%BFzl#r z(G;lNU0xIe_LCJ6*%S8mh!*^<-pZ5nwx&v066Zc=ex`Ihe%%RY zeiUOZ+0(DT{uh$~MwbDmLccWO-MvLi&pM=Ts;rdG*j_MiUXiy zL{_SGTB5tS(l_%Z!|kW3P@C?Uvc1coZK@en%Rp^*H>{yM!jQ3hO!VyN2I3;lJX(kQ z)hv!{T-OfxsZ^2sh3EP0c24Tbf|57hEgIBXqt--r%N}*lP`B=`oNG9u)xWXy&w{zS z^IHygqCb=Os@p&Y%=Kj?U#bY%2EwdgzAQoA(ju$bLm=`6TiNZztNVGEz{yKJTgvh$ zaHqFTHbnu^8O(8bGp+X>+$+Q?%CFjB9AXiPS1VG--Aunirajh(?cH*86aKnBuWUiN zjP0Hg809$XKMve1wm{rfx99kz-TRpFMZMShk74eIB0CnI@=+qR+r=-B@5GJr9&>rc zHn9IbctcT}Y{J7BE(0QHXddSabZx-KEqI)C3xw5+pic|_PiPu%=BG}=r#U?_F>LA= zZ&>pll*?#?4B0q+iP(Q@p4-!FItdN{JZ< z#Z(#Uy&qgyC4isiiZs*Uw2+*vf-9%Rw>SgU#7!O2N$4r<{Ir{3e@Ha)Bb3~zO<`R5 zuoK=0#qGZTnECmDJ$~JZw|N^5*yB9KzIDszFZ+N>k1Ag=-|kxQnS2^aZM0?cm_51CzQkxZu%0 zDl+olKc{~ETqi%rUQH3xO1gn^!G9@NaE}RvAk|^N``@U*VNOS#@SL|hlQfqb1i{&B zUYUX@OR(BQGy8hG!$(n4yDm3O38BcBD|B&>SC;IONpCLfqDqUflaz2HRJ8xEB87&9 ztg7=~wDXl&Zj2usH5Ua%A;WZzAs#@r3)hocU5!+964HM=%Rs!NL`_8oqM7lctJow{ zT$>YDI*lPIRIM~m6TO9R=rtGO$yW3u^A<}NQz*#mX(ri4P<1F%Y zie0B{WTu{c9rZX%EPGwu>Nt|ZbC{%G6bw6EQIVT(5*(z`E?!JXloi)V>kta)h-7<| z1}Uj~A~|1C4UQ4?`Gm-xWcb?%AlZ6{NKkb8moTHA)Iuqe1W^k2zG0 zT7IH}?NJBw&}ApEKAoG*9@(5Jy>l;XDVNr)ZyMw3u~JTR$wKi7-J;_9<>;ttEHApz z3nAkCbcj%6i5VFIRbn|4pz6MO0|VGHbqc6_kJNxJtGb_ONCOs9WTYpK`_0w^dn#sj z=QycAr=pZr`c}l)b?~a6;4j#y+wEuLs1PW!vH3wV8Tk>X8y+^Dj@y858yg1rw%JqH z4iY5XI9=;<&s!V-_T)B1oI6VSyG5@uju*NbBi7@Zl*m~;wfI%439QQKa`%*vvpdkB6Aq);}hzyrM@8~K_55K9?I%QCD7mxQUqd>O4+LY zQ{{|%hEh{EfiR!!*17r=`?%gbisSSD(4l-LBq_lq{v?e~^&81LJuYJ0-*7W;b(=q|tf9wA z4Y^Xn+j*&6Xj&jqBQp5T19f1twByE==Q4~@jnXgLW$9ED`Je)RM@b+nHy7G5p+RSw z_n=zn7FKh6oO>%`@p$8_p z{8NhQY{;bbWlQdM=!5orRBG2gtCNEFK@{SRrgnir!k`MfA#M~i$aob6)6-;!hM>_) zY2=0p;@+JY@#}%2OReQhDaNdf0!|LYA(FsPa#{qGAPYOXhg*o!v)$+KfUuZPAi_4p@ zuo7632zWrY#6h!%P@Rl{L9CS{XJH~t5G$?7_ka5I(nOePUrD-;8J|}l0maX;sh$Dk z&;7y9lfveDv-4scWJQznq}i!vTS?B7$gI@xP0p(h2$P&A30aZ#lAI^SShsb{E+3NM zGdV9MP~YS{X^QX5&8yEJ4{pcx|oTuhG^@E+K z>z8GWN&Uy6mE=4%bCM@!a-Nj`#UFs2R}<*D zJT=oepX9vSsccAcp2pLNhud#tUvBdE>RM1!AaeUp24q?3 z!T0C(9fh2ypWU<_l@xi5LC0xCrS3+*-qbuz6hsP&x1rSn)GsNr=Et3ZdFlOe&f45O z{^a~ha-PN$0SCx=n(6p5bUAo<%Sq0=&-aq^?)Eo1PjBQ&nX>M~fTQ`{6hcC;NzSX* z{YrM8R>~>A-t0UrCg)Z1FGMy-cHUi{mz}5cVG=OVoJ?Vy*?HO!ij!_lM^ggk&CZJn z0Yzr#>2#1PT(a}jQNwIJwWe?G6r1e4YQ@txJ5SBFo;N!$n{k<)r}iiE+>@QBeq|z9 znw?i0N_)x9Q^PU^$H~r9OO#eFJFg<-ddYd!)buwwPyI~hPI6vFR^hVqYV#_%?7V1X zM%QB4c^b!JG(9iI0*Ws^uU2y#&Cla6X7cl1d_}yk%gfka$G zWO|;y!^A4)R%hu4l6Urst{S-r)&Kdq8TvzuxRT zHS{qZPd&AzBg{)tO-2(w`$^B!60dK1UiQ*SdS1LWal^{nP86>$)AQ7{ua`^DtE!io zAN0KHK*;PoZIV+iJCA?fpX@wMt#+aP_jkh1)8Z=ggPm8KWj~XhR|SkN+hi}b%gocG z2yEWWJoolXVqUe*j(K_6UWuCGbB`DKn5O2bNsv^-lA2ddzc4jV_OImT$=02Q5#N94_6vx)FKvhX< zUbUk1o0_L~MSc8AYF@hAX6D6ECjrE~mp`$sz=QLVW0-jwCkMax`-#LzaOpAo{}*ZR z(kolDWrg+gSL|k0qdvzwV$#Hg3y`2>d=Ww=jYU0vN9 zarVkwxmLuC`51Ey?KzIkkexCTCQvmpuZ;(mM~Ore`x2G+(v-@l3NnnTFe;B@<06FW z&;=Kkr?K3lY2Byl;zq*qbklOvq@z~V7GqqVlpKZAiUa&lVVNY0|BD(tZpz>b4$q!tfV!&~MdHU7yfy|?b z-R>8fN5_#F6GQV-_3nY@@%=DB6EyF>KST3q7FtbY-n9!jvkcASI>MtdG>>Kgr{aa? zak1h+5;V{2oya;t^O{++A8Z~Xb)I3y=3$I}Kx6ZoY2*#fv(n(jOU7Qy!Wpp<#JU0fitcgyk_y6oQka0oSWcSRN&*mw|hD zae#&yZz5QpWVfX@fz10c<9mA6`;TGniK&z9Li1W;jt$MD z>Y9ihbUKu(Nn{>JhJnf9az^+f^Ek7#5{1l@*q3IA%;SXbitHCdM0pQ1 z?^;Vk@i3`p?Q2+^r0^_&r=tg_j8T>9Op_}7qcaB9#@JZT1j(@Xg0xl*xSdbxD;6H zk^)U|-aQZn&ZAALdIfgAn}6@n&u@NS2Ipa7rBxg0g|6`l&g0CyxH*lxkapoQc{?6( z9&SsREz1t$m!xInxjodaaKU+02roOoL;`EomQW98soC*@^M20!e83+61n1F`w01#O zzn>t;;5=p0=2wFA(q+5Yye3lq2b;&VdBX9O1j~#-rjpl%%27)XX@qUOU#m)bG4{Uj zJjR%-e`C(+1x!Fd?d&As3}D#jX(S0zK2SUo0oQB`i^0q0?2xNs>M+oL@# za2^%pPyGPrQP?i(1J1()SFFK#5>5ZW=5ZqX|0qswKQ6I(oEZHBo5z_CY#zU(wTsQ; zO?*Q0q;!8CXr85V6Pkx1BZdpj<4j!_n#TvxKA?GeR3FGZKFe%?ofhFHyCguk+4>Jtwh|J>}+i{V3lo0&{ z=5blFcgny#1`TIiU>@b^XM6zjnw!gw%VUU8K5%)M7+D`vO3Rw|iOa*7;gfNB6fWK8 z1DD4c!l#VOqnvWTusjY|ePDTp4a$$M2BV%1y9?i&kP@R34XloQuk%*yX7Y zDvz6ow%n*Z?yk`k?b!*<#9`!+J&e*?s;|rCMpkBfxvU4@+i7HFDQ=! zo5Dl&*H?NkUXt`b0K*&X3;Msk85UqAo6J3#s?ygtE`WU$fLFE?Lp*mS=M?Hc~n`A zMC5T9kN8C7DSPoC@^pgMi^!vFE59)zc`2cMA$i0zm9*Y=FZ<1OKXD;> zd|5=05Rv!F!)K2R$x~i!Tu7cyit_=<(-|0v$@40DT}U2RSzRBHJTAogK=Qa$%es&} z8ub{7$b0#c{UGwV_~*QcJnoPEiOA#r*&`8oawgbiU_>4_oEsMQy(D{Qsy&o$hALKV zrqR^`p=atK`lzL-3o)G;q6kB2*}QRl83 zI%k69<NEK;q;$x^snZ?pBAMau*!Nv$Sy zDy%Ak=ulL%O7^r-oA(H$L|KbgZeK_@B7#dkRSccVn{HieSq@tCLtfPOm^u|KQ1&bSydZA6N70Lt?kQ<)=i7T+A=vIj!Um?J>v(;ecp8)#VqoUIaQ+l*$V$7U!)wmJu(#1o2G#rBTnhO4Dp)SJAqeFw z8d;)@+=wqgdUFpQIcD6?#a%!en&1;>*fMtN>a^s9+XnSc8H6MEnku?xB6H(2-m_UX zNYjUP&>dzPcQo`;ui~XF=cL?ab8u%-LJ06ptqJQGLQ{k6c~z8it*SydMe<3|Kqrk= z;~Un7VUMz-P;SDlLqI>Os7C~6<6WL;A*}@Ukp#cQ(Xh|F8fri9U639!fe=M)-WCoUqsozb?tj zn3tT#735)_`r&*7Q=(pF$KBf5>>O@tEG8Tb;nuqYiX^HOR^vxW9AIvaEyU-qj~wnmj1*-;`G#UR371f z85v;gPU>QorY6M$HiZ{`LK4gI1nNvfdMWz8kp%pcGvWv9ZlcFTH+*wvSFAq7q5#w2 z_$FrROMKQv`3N`mKCG*EPGhgm;h9*?ak>0>+_kGgiH9d#6!n(*c)Ng66eyhCe2?>T zF^V>s@3`2EutQ_Y>Zl5@14ul|G_3nvsMMvE!?CAVzVE8@ZZVQ-u*S>WmKNq#+b#pO zc6&WBGu8V-OE@2vGm>m6{uBcEt~23^%k384>J*|x8pBI>h@AY@i9=Q|ai`PNbIEi? zFV?EltB_inbeHjF*itprD<^ovi@9z|y^%FQW~DDJDaP4-UTR;ak-MrIGLS>Ytb{e) ziLvRa&wA8f&`)v#4uf*K^oV5XWn!x$5>;oY*OHW6qGD~jEAk1cSACf&IVsZ4B}#7g ze#E})E(d&f@5W#$g0jPue5tiD!NuX+Ot4`0(*n?@$yU zc;fC4(<1O2ps?C=SlF%9rWXGg)^^i7T6V6q(2BY(+PL(ZMPJ&IY{`IjIN8Ng|&90^K!s#O7~X?tEJrMGrS;>w=>GNn4xmGm6yj zOSBFA94GOE3hGj{j8q862WCBnnVvJ7T z4e%-WyAUH$J!%w@=R!FI5sdo7B+7C4cH%Jm20;yTUW8gKAzs0ND*LG3W0H*`oroI5 zS?TUBR2QUWAqo^_%_w#;`d#+4Ig0@=Sr`eB5PYOd2qa?Kam>Plxg$f zlMiD{P7`&bzWl>fweSVnXWRU1ynqlq!}8G+N0eQszk*+GUX4)N7QehVwe+FNiB~w_ z@A9o5$up=F0Nk8rY%CyjM%+N9ni_$69N*?_zWyyR0^jnPW~~`wcsx#LP>+W{1=-oE zLOTO)q^Y_|epnY8?q4HJMRYNS3Ss@aHE3x0D$YH|xzrojP8TlUQ`2UzP>N!!IlHm2 zMfD6f(JHQmIsEyy$ZZXMEQbXkPO_*f?6$YN}F-NceY11+jWHK{aVxov7t zy!63gt3tg!3DVK;ZIaYUj)TEqlnOapUR33;VWX(;H6(~rYKHCJ7i0mUuRSGZbChWz ziu9bjZ-|)Cf;001Og^OuO)iUI4ddjzQIV9&H1^x1hlqXmVnA@DLQ^t#1HTfYGs_o* zb!m8Vm?;LTGd?+RrY_!76Ca>Ca416)at9@kSZ|N;CZv*TktUPj`#43&2IA^BWoa_O zA%cI*kb?^SUDBzc&)#Ifo9jq!bEYKE-nSEaQZ{otjdcWq+&e?grb7}^Hq&VSO*K!% zZ|?cV>)7)uCd*5sw2i48P{yIMjT_60r8>>nh#ACJm{J!R+&77P7BxpB|Gj(4;x!Sy zW2U(`9p|+4LbvV;Zat)K;)DD_;x|af{HfoLeYT|tnQi0zkZKBwgVpYD(T5-uHN}3TlvdDK;=w0g|~~egpy;3?Btj@Gexbz z*wk3u+h0l0A%P-&2@UYRlz^DwduAR%_tlEl3gemojSe


nSqe`jcq`PBx#={m`Im&xBH&5>D1%$ofu;*MwB% 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

UY+j?lSOl^pYCT%ggbQB+H9j%?KJS-O0 ztJmJ|q6I5U(O>~(m1;cvW-T~)<+n-Ty$gt^+Z5)~53tNwOPUKXt#e5>*i^St8v!%? zNUJ`-Kp$haKC`uBXwamTXd{G+?Qu+oiMAC(F&v$v%;mdOB}1_XxT6;z!~qlChKfh5N=z%HGDMuxFMA&g2ho< zzILfzU{l?p;wo@M{>o^bp^5PH4Z0CS`FDqY{GOad@lIvCy`>+64wn*L&nBx4d78Ke*UY;;1v6dOLB=;#pQB(A=cmG{g2I zNnL)9Apvu&)nyverq067u7Kd`?A9l<)Ujrt0h;d8`Tua z-sgx$WZGt*;R%);Ig9R}o4%vGuTRCQoH22l1Lms%6%&^=4t+Jiur4Ul&VP|rh@9i0 zjr=Np<7l?2O2p4F@eT)y72JaVl&C5V?V>N~j*9_bnmu(q7Z&$EHnixPu+RdR@Mz%F zwyIonbGroyHFt@QQ55FcJ03axeO)PP)U66m)3blYnQ;%h=a)e~OzZ;+H*MJDj(FEP z`W~EJ7l3Y4Bi-gvTCFChL2O;-y4W>stVis1D%6_` zmS_y>!uK9pjBHdr{xcyK$`k;ym_5j^%WdUyU2cWkc-R=&aXh(Rip}64_W~H0tEDAE zl%ZCZZszt;l}pES)oam8P_$!&W^EhEoVySq8zh61-1(cUDV3fPs2IV4pbyGI;bqg+ zlgKc*`#0Bi#=NjbnzVH7G%7Ez**;!QyPv&$Yk&m;C$ctfM*ik7%$*2IGeY}u2^2B6nxE)0J!YKWWi12P0y?nF-0kLe--&lG-fNZy+k?;9)1Hyvd ziA5NT+{AA<^CY7E*?89o+WLmkXf8S@)rI?TZG={u_OLO_0B7aNKsF@m5BumNt_VLO zg?>R=sx6cHi*53Lvmqef@YM7bS{^CG`Yj*jNhz8~FXGk1E`s$P8N~T7lRdt@2`gmv z_7J@-06J_$4))6yAiDAe4u*ar8x_xUlFDYdXE^^^zrZ(ob&v-1=Oztk{`Sag1CEh~76yv;CR3)vI#Sl(=eG8&H{ySa_vRLG}fN zWe*k#wb74tR!Jo(!D=_RApn`81kmx&Kj7>j(!3_MXlLZHGV&A}e=Pz3h`P~&p~rbMNClbZ{ql43HoF z&F0oo{#?dii@5m&c(395U-s2jY-wu$uoA#emC9^T)B$7FbV6C_eNKBKdS78M%J~@(BR|H=EVcGvFKQwcn22yS zh!G|EOA9x_scJv=kS&qt@_1M)3Sce3aw?*!XMUlQuFQD-xaOKb#+@^ifc1SQ*JbwB zDyS%qU+>zwQG2iR&l%?hm55N_FE;q`?H62;8SP?>l(B>Uw2`z6E)hRO`z<8yx+;uI zSiFH#U(CE2A(1d4PWiV(1-7WklxdMZAX_3vox`9%BhX8hTP4w=n%e;|Q6_Po?67@= z6(dFw-g1}KpDf)1O!Rff@`U1wd6czL){e`P82$LR2@fn#Qn;{&9=SnOMr?-rfE?#X zdqZ4UBjePYKvjO@T01Q-xL@bmFP|v;#fvXD4&T~Zyjw_D99K8Zp zVA8_1E^roI!WxeWGG`H@ndQb+~8`ptvM27NIlpgA0Th}N`{Ris0_WvPqx z2ETZjv{AF5QlKcKu;CIAZyB^A@EO;cp+|o0BK*K!_|!)UkWHTtqXlopzLQP$>wFfb z2bnp)rN;0?5x^5PqzkbdoynHDf}@|kf`Tp2@rQDgcaT<&TSZ;Z&7W-ncrVN%=}1t0 zdde3mQ6#<%#)2QY^#~15i||)KBURMpT2k-s8y>KlCPle6@p#m*cK~WM@pxCNYN3iidb!(rTEskkM1_{! zL2f?_@B;gW#ER93=E7x!9$5|g1x;ar5hDVhf|F3s2>(x~8|^TV4e|&1*7?l(4DvJ} zh4V!DwAj6IV>jpvx^lxIv6 z7cp&|DwIJ3UZ;(4dY5;2g1tbt5K-xFn37%*(;8KSzGgXIx_t0Y3b_S5QbW?a@+ zY5P~9fU=yl>1zUkMYcbgqqD)Rf&j@$)hCV2AqD|f%B7?_RS4N)WbQVzkqSO-h89A$ z=jS%Rg-?F(E)5hNu?osl>W!M!^Cn2J&D}|I&)Z1d`w5+}-C;RMl+-i2s>F*a?|H0! z(YO0zxa~w43iiv)=tqVR!fhu#8}M}4(snV#Aq~s?8l0vtd1GXYg(esTFFJ5b@&(-Q z0E(GaAc#XHblONoIY`SzS%7B63?N|C?dObN!GJ$~Z+ZDQ>(5t~Ye!nFl{5G4$EQ+o zGAV6nL3J+UL^Yxr5YVae*qUc^VJ#ID zaBOyj%?_>a#^LG!-U)C+ba%Q{S$%8JXcEG(T?FaP=`i@FDjBTMM|E-Ix#Mtlaix#| zZo&vEN?RbsIt$B;%(RPU-IySa1^`B=gm3A#A_Sjdi3AP;n&@4tl)%7q@u7gIv=6bD zJ*a~fg*pq4y$y`DMgGGx5frImmKJ0w-~#7CLLLgHg=6VH4{O1$2+%R?K86)G3}di!wZiU=;C-a|j6*|z zhav^rp27gxK<0xvV#aZVmU;Yc5SB?0>ae$W0vquYfxjQPPet?-Ht6ICx2ga%`<3~k z{k0drKJp-ipE(F?F+16|zAnn_a$=;RexWOoP~>-TqS+Wf()z8AzWVD62|ROTQDz5p zkvx|ue@%Y&uYBH~cns_owdDdD08rfEXd03?tR!{Ik4^kSy~pJ7_`8yM0MNV)m&_2S zK!~D7I~v-4jZps5&VC^{M)KYZ9OaqMR`YKe73*;K5LXwkt6-Bqu*kB>JN3*N#ex@s zSwdad=WYf=?ZAk{Y%~3b8&B+`n_z~Btc8K0dwmG@F)nK4Ei2PssE~Tg5T=;D48;Pw zIa{9X6DwqQ$py9wM&P>TTURW(C?B{t<$}GTHfYfDpEMfzb&O<@0TmB3qV;!>`Sl>3 z;N}DZE;agTufhOQ$)d~cm6_o|+HC#vM;%~VI1_^hC3i~mR(jj$*!^ZK>U!k*Ec{@2d|fVFUO*3@!jg)Z%Gm%tbw~gUGc`=4}LKK(htMW&@WTw zKrlub7&#r80KN6mvZ1S>&*%j-1y2C#m-Llm&=B)M1S6|J(3PcewM6ueM+4U>mIVh2 ziD3R1^;-9y($3_nrYY;#ac3t&5V;TGaUnK9ye28F1BUe=-FXUdZt4pC>2+a5vaE4xBtFY^7yG=#E0+h2(pMLjZ_#^us7AZmixm){bbNl>1Olo#cF%@h507{i*R{Q~ zvMT_h5=H@&mQbjaOOnzd!3zVu0V}E?D$U;RiOw$MyhH%?F}J^|6h>NauYHU5nJ(Jq678I?pC;dp98*szLjl3-Cnf634~98wc-~ZncU8EmgqV&&a&F94{p# zdB0}4j=l?aRS#o<{;1dA6l}eDnsEK}q~HKxuH02DEOXZ(qI!tRsLV$8SP`Y#$ZVCg zXJ-MM0qy<)kkfP>)4dxPEV9B*x{TD0Xr}!vut|r52*hsn_CyS9Pg;F!fXr5mC_accrqNL{pm`TduT`5cR z;t5@UiZ!R_`8SBXRp&CvJB0=%a2>+TR3#CPINlJmg(rm%l5noGXiZlp)QkS>% zVXCy%+3hE?8uM#Iv)GQyjRSk9bouBh5_tPYr%m+^&zmaR7yuJ@AZhGvJ%ujjVMQ#- zJz6v-2nsqTDgJB+QqCB3EeF5#NthAiXK6CKjT9UqYvLt@W(1ujgy>pLlPE0fUMVg# z*bnARxn-+r|4fIjNuQ}<3?jEvFyk^*i63;3aM}Ah1*XZpka)4iF*m3Y#yH$a?ignd zhbwp6K)?}?Ni3<6zhQR-_#5yRCWCk6jnv`8xf8@qcbC`a<}1~#X-Q)Lo;|9g_loPnX;LK?ZTjD z*k4x+4}yk*nL+He&Q$speuAjbNYcYLP=ZNeSD9A(ifqqCiSfpMdp+D)B)b7}em_8Q zWsU<;2FRv=N~(_H8_wjKka2KfmeBtYu|+@y)*Raq5D!UWuRjOP_1!qXPqT8u%cJMu z17JX&PUhQ&_Kbgnq!C>9=$(tO2c`cW4Ewq6ND0E7XJYGsN1Z5tO@@ekhr7c!9v(8t zUvePilwehtCF1s4mBZgOVX5>R!vLt}9<}hzpDU2b1^!m7k0xlGE4Z7JgE-9h@HwzG zIIO`B?uEO}^DwYNf_UvZcL{WQe4ZAR&B3$uC5X&8!!mLa)D)Z-t~u=jX6i+D5H=ji zNs7@*0R@N^aE))xabQ#k@(6#IAF(fed}$D^LN>5}hwo<$?3wwiF1KlQ~QaXil0q@`_XQo{*rbA)0}@rWBXO~!+?XO_ObSUL6uB(Mk~ z6SSnUYOnwvDbZ2I!8MKpm)?45aFI*iFu zsEBk)Nr;qmu3j|KA%e6h-3UmRlyoZHjZ#XgC`f}e(ufGsC0z|rRWn#HW{FTtp7f%$ zy_Y>6CGhk1IZuh(O!$*r9Urba`AK?0c8#YGU;|=OSjjFSG3uf5G4VeF7x8H=J32fC zr`$IN{XQ_2+{$4P=!xoA@dEZL?@E|;-IX1%--yO_c<_a?6%t4i64zrbd)@!FvU59; z>D(CR!}Md@vTW?JMG5~QQbAE_ukt)wsx$+fFG(0lEJ2*_E3Qmzw}8{0KGP2f!^uit zRg5a1*;uvyxp>uood8zG?zj?T5p$oE&cur%pEo&SEx`dRO_a!+Waq}Si7#A~V#A1! z8-!J+<_+XqBEz~hZ6iy=Ido!CP)=r^U7opc!utU=k!GNzIc15i>A}FFM{leMx1JMX zwN?F$4$keaatVs!zpLRv6-#shqv>wtVnp6T+B;qj#bT4NG57IA8^4Y=HUa;L>*lE~kHNGG~u=YBtp+o-ETymPyrXG9QO2 zv)VO~wh;xv;P{Ug&w))zL)=*f$!g<5JzgsyRyhA2l@C7r^4hXarFf-WpOJneXE&Co z3xVV;DXBqpH4~TbMUz=f<5`ovgZpjfs_qSj%TahZ;j{1L1;|G>KSi1TVAA(49M-y4j%bf4$~kpX~VEnM>@3K=#Y5rlD{v@ z+V|nX@{?zbs_v#t*p7ld@^+~?1A!pIW89<5iF^S)n8i1y-@JT6*gQK>akeLn$ceZ+ zq%K<0T+O>4GR{WY*S9QIFIU9j%o&M1aJL(9OL;flijkNq(W}#>%!eSt3bMHK&C)ih zyE*kUmRM=><5^Y{o<@$2gPJm)i{&O*G$P*2z4}Py%G=~;+w*mJf!WV4;R}oMxjE*` z`%ZTfuGtLuzmBDP#$+L!^@$R->i4_Ckf&V7(JE;Jg(*DR$vG3-_)EA~lu;+Ay_%m}^t3J0lYO>+StjB#u2Jbk9g(s}l)S|-iN_thR05$%tg805FJ94VbqM-z2;;vZ>d!uHAYS+Go8kzT6!vR*vb z#h%vI(&Tp|^H5uO5r=qDL4ZLtT7H`ycC;wT$VdMgt43EY9f{}a6A;C1KG#Eyu>#&( zrr6~5cZMF%f_N;8@ay!K>0)U(y|CZnF>DfHmxKllVD>(H);5x)mYhmeYsOhKCs>>% z(}zz-tKT%YzS-nP_Zg~7Qf~BpsidEfrjEdVT>iqv0ZASHSe(8#v5hcib8=aK2+$>ck96#+Z>$UYT__uYMFooZ-zSlbX_giR2=TV|SD6jwMY_ z-;C@{yx~hhbW`pDQT+F!!~FKyUtfCMGU?8%M}8MxEMlq?w1n$@eR)h^5=FJp>9h@> zfT30Va{ogn!XdAVR7Wh76jdjLdHi+HV_{C@4qgK+YS~%Xxc%jfWNz9TI<3~g%FXH&6Ar!gSGSfX@TEV%})JIO3>7w_Mk zsw}9S)?&VO^ImEAEM*I&NTwgAUS^1lB22-Ne1grZ78#v&6_PX%Qz`#bvO7#UsP9qK z-55;VdFZ92{$6`OKs8WQcq?Gs?O(qA3R1V5XOlCQM1Snpg(+`O=+IQfx8=|Z95^>N z+I95}Jbf4ULNx!n$iyecVT|A`ez7J)?Iz&(Y4g^*Qavq6jvwhm2bmTf#J`x-zJfZAx>|ZLaK%F4HN5<8(nR4JLN825^Q;_#V-|RG-ZG zS*Fc4aK!hz|2q6_r0RO~w&{a7E=M;4S+$QB8V+BI)wZ-#K7Ew6ocV6e4DskfUy``9 zn?Qz>LHXu8l+@%;4PBJF)=aq{N*>(eDW5p#$?0$*p-^w`2JuC;HPjA$qfFFY4cW2+ z8lP7s-igp_@DaE9JylMpq-=b%tsg@{qCe+tNDX^-KGnjm^S=}i zBX_7prZmM2xz%#nhl<=LpQ2vb{lRSXaY zD=8X@&y*bIlGD^A_po^KRSUIHydmgWJ@sb{@{xDW>w81 z7mI_uX6{^-$l{EyX ztM!?PZ#3`dmMHc<|DLw=;8st2P+`{DL1fA{bCi7Tt+2Ku%KaDbG5v-N4TS?qHq6yO ze%6r2wgJh|3bW}F%+I7u2H%R;zpn!5PJ?6bsn($@F#`84bVe78fYMgZ0cR9$$6VyuW9ahvpn`nbzAH!%U%$~tFmU& znW2x^y)h!hZJ)abTnFDyUMLMEa^N>>!pSJ1HWRzYC?OQms!`&>e8sEQh;jr@&M*{6zD8?4Wp+r-7@T zy+~Az`yl>tbCYN^d*;i|VqX9IkNKp}E+FKKuk2cM;nLAX+tu@m)bj~Fx`7Z>&16>O zXWX30lQ4fyc=v1Sk(kr=nu)U1E-lFfafs5x3_L4+LxhjSBOfSHLfM64-kP){5ed~T zr7_rBi7J9;3QBY8bCe>JC-kCXamslew&XNE(n+6r?mc*>2C8<&>7$kkUQ9k)suhJr zlGVTM{zx#iWGXeE6&Q4pq!-6~z01{aDdJRmI%1w{#&0a`-tjyS=PmvTwa)T9t5)Ss z@<})=*1JaFBsShItA4mP5cjy)!Qm6mtvOrSg*V@F3#^Xn8dpC|Dc_=KTOE5gLllwh ze)+;(~Vk^4xni&!mQGJkf7x>SooEow48 zeYMpyFcJe+=q-X#e~si=5}Om~$PsK<8s4R#9y`@gRDnIooBwT+Bp zMF=ij!jFbJ#W^)imhCp?79025ZN(=orfM=Pf^L<8{e4+C*h!y9sBEL| z{tU3b1RoYc*i?&On}AxH7A6x@EGj*)^9qWN@cZa)R@Drp5{J;FyWcVVdc0b?6-_&z zM>iobyO+pxT3!ID9&q(L44}I7bj6VRTjZNahQKf66>IncD%qZTtamvuWI7FlU@MeD zrM@oQ&wt`I&qakLM=UADbu+wby1vAkPnY0O?4Dc7?WGG=%#|UpsA<1o4!%G;EPzur zyk;-!5T$=PZ&HPlbt2IDWzKa3_X}+7mKEVIP57Et+FMnOh_{~}7YGVY(^4yhs^2x2 ztt{lioUV0awc*O_7@axO#~dZ`&lUC(ZW9C%hFd6ZJtW`bufr8~m*1Q~5lLChx z1lolMtQ8J&6*OotYv4TwFHh>#Cq|l{Z&}`_e~NR0DVI`RymA$F1E`@9|K{+PoR%)W zS9fKVA;f-ZM(|RZgFyHd-!Ek-<0$jkwzx~#kJM^rKJ(J9?CMJ3*Xo$gFlXj>VTmZq zi0W2pmSIQ%HS${C_uDe$t)EryUZtL4sMD44 z`5O3SI*mOl2{}jKjA}S@|Mgt=hmwxhFeW3weHt4@2Pu5|nAgEKi8|qHhg7Jw)RoCc z?b=3}OZjT_8$mk9I6QGcxPaI3Q7)MJO&@f!oG@7&Bj1_%b#~%7i4TfuPEdZa$IduO zKD-tgkbX3we0IMna;3|(dM}}Ce#ZGQ(GnK7Kg5aYH?dItE(Ndi2dW+ZMbD5zbA!RL z34uSqMzgmG^X5ys;1R~BAL2hBZp!o9a5cZe^EOrjN~l>J&UxeUwLnfI+T!dVd2G*B zP`8HREM&bMu2^(x$h+lLsL-;$+N?y~9K2S4Fki`4hd*V&;Anl4^*W=C8$?3;~&b$~~uV!mWG_Z!X62~>nH zZN5x3&`u=zK48w^I2xB<;J)77_f-KI@vbSb$!I#IP#y4hjuf$9}Px^z75 zzLG)bGTf{qny2v*K?J2Ru5VA%SLZmbcHSi3dlDJsrPs575>rgByVZ9`1Seu^lXG(i zHg=la4yS#!7Xn&*MoH>dal|)%G`Ss5*Z6Gdi64|Qc%6Z}ROg_nZvmVCl9J)y5=Q-5 z+JDIUAK;pc3%{E2Pl|Sjvu6GC{(n;b|E)s)QzuV1S8&FQd;*=oS|XRG$K$+k#AuR| zUa2YC`&oLcUc^&jy)g12a6w*K@rR9CN)m_Ky=XHYH8uRcqKIdfs-e$%;^i5zlXbrK z;i`~3G)Grs>$28*U~8lwE@PS35-d7N4n(bGT>5yRo=H;JMJ_>AYAD#$q)W3Go9oC# zD2A~7>|jAn%8pbv)tX393>b)$x_E6U#oS-u&JQR1^%LSOT(5vt=G12Ts==7WZcCBC z_Dmwmm1&Nr*thcu$jC zjQzx1=;lTq**$eE0yP8ktW)?TUd{ zY9keP@@CYv;>TNO0{AK2CoBm1h%wzqU+B9xPWv){Gf>yMx_7f%ETbAmTrGD=B{;$2 z;n@po!;gC6aoL6YA?iu zR|4S~WL`q#Ez|u&IQ^WS91hKCc7#6I+!sbUUlAYUk*AX3H(pRA&R!bwSudSZDDI$s zqfXw}*dVqYD5_;=#9V#xG%&NM@l)N{&2(iIYr1BUc0uuNp|}=pA0O6{>YaC(&A<&D z!!};N13?XAFS)PpAmU5~`@8;CG30XG?dlP0BntK+wdBU%Az&xEUGhGMObdwHra|j= z5J5Y#rB;Q`pvvCs^lmUo&&a7+Fn^_Q=1dxE+KB#K^zf%(pI>sFqx-_+01SDtZF zM{x&r&NKTzxEn^N4(d+2HY>#wzT7;$GNCW-;FTe{de)EA zK%U>4*G33lA=Ujes_M4;96f!Wp42&bu0I~{)^@dX@=?(%{(*NYx0dM+{b6}hv^I%2 z6!jkT6s+(x9XUac)!F9McOomTo~HQqI(dOj2;{f?3o;CiEG4#XI2=?nZN==FybLAo zwj(z`4VxKSuAMp0g6VqR89R? zgI`Va(iUGXrufoZUHY#7Ht2^eg^1;0j1YK>$+NZJJcKUX5E;{{JEm`VA$#|A`xcii zUeB_((xn^pkVkZ*TYOIqZnV3@DJrTY!r~tJO>r15Zevf(w|vlzBz|GaxcB(Un1GEa zqw{Ai;vi|E>CC#_I%xbt)nz_bg22EZ4a~rEKI+cqK)3mBb$%AXKd|&eohDLl- zAc6BS^GzA%zJD3P9(XM2F|z7U@-PXmnm6`Lm{QRg_GMR3A#`E9a#hECu{V6cPbNCM z@d!LXfD!h^&o_m7NH2$n+O*L7_}Ud1J9Tyh`J{aIxU++LT+SL;{zv_4f5jUHvgTZZ z5KYQ*CHJ{xP7{xjQT7Qfjpq0AeSIQ=%8f>3%*9ky2b4d;_jbI zcfnpi|5e75ZL#CYTy}MLMA%6`F}9*(k^=qDu0dPRO+2mY{V=t*=6FrO;bS4kGYsvL z)lJ2Bne(^ib3KwQ^7W^r`7rCVuYbhqhQ=iXY7q<*k$pAiO~TU_%A`|~wvgmJ5nDY0 z1+#XN!HpKK7!xktkJZ8A&adc#hd*%}6~C+=gmHSL8(PX(!=CFQsSsEaUre!b8#hBM z%Ar4=ii!${AGnpp$I!WdOmU&bxGCe|euy2S@aCo?1ah^CC2EdZ1ynk!Jhw_- z*+wk4PulR_nJj@E`zyI*oRg2>`iL3QJ8A|KAR!ofBw1J-=wjW z`q*N?P}bYDG{qk;B}DMoQ`K$DfvgSHB5iN>EJlA0`3LU)Qsls-PEV@$tbb~UG}`*Qd0 zrVflsu7pwcqDQ*kyu-(;!G%y$&Tff&0lo9~z2y^<9?#OmA)$5D!=AiK&pP%W`+RQc z{7L!rQ@P#vSBobPjc<%gc{fcPa(|H!vC>Z~5KImYDBQrJSSbe695ZXEe7}0!wk^*T zHN(U93CUo+QxKH&TBZz9vHHGoBP(kwho|*;qS;&Ka3oi#zSu?Hg0bY-URKKtGlkJp z-b=c1h`iU)S0uA=$$w6ZM^1XiPWd3U(G&-zYsS`H|@un@wfM`a(!DkDMYH&t*TpnWrBAt(x@wTiON|q z;uEOpW&m-}jV)pN&WsEY#qiw(2*l%ww9hi$3k&VdKDM!M_jbuu?o_|dqUMAgljllD zw(8bNyE%G4kxE_?SYp?=a6B07E8|Fj#$8al<*WtrcB>QNZsR`?8Sd2`=-jI>_&tJb7QsBf}yi@JY@kYY*9@vJR}*zIpEZKUf& z3st+Zi%F2a*85g*;HE9hob)!h_4eH4UN0M~^z@X$g9}fM3Ut^CNx)nEUf4u0R;lPS zMV`sBtKQzIsumd5S5_71Q6vc1sWOm?P6Lmm7*kaxH|;;|8F?)9DU^GA`XxXQy!t4-p(s-s!LHYsR!Hd`YC9 zw#QOQ6|N$Eh<*DTuCHCu!zHQYx(npS5p@XST}lJPqBzZMWBJi>H%@Lw=kh!3!|j@! z1a-|s8a)D~@^_*s3l&G072`Es6e$_!sSoeFEP8!9y8fI7-vXJ)G+mV}mSvcxx-&d% zy2Mscr{os8570iZ^nK` z5D~-RLM1aw^L!RBjPV~qCX8>>8*bFS`SB^RgWH02EhQc!VdUkU0Fzefb3-YU#byw> z6K2Z~H-|<4W&Hwa8G;o3M(brxdF?&*25M!)W7wM&i!$3)5SO0?<@Gd8zQwp7yYgm^ zxw~S#<+nzP&EI^OQ7hI~l?<<%6|#AD0S@ z9JntC%!0aOnkh!|Bl~ozGz%EN@(c#b@v4ui$s|qO*GXbi0BJMyT}gcyH^AD5i}~4A zS7UUSJZX_u?t=BG^X&xMc+NYnA0msS4WozN3x{2TCf&4M&>#{)s!SHkW|%(d<%*}I zB<)iP)a(g*zE1bW?8OjG3Ks#TcKYIwSwye?+YjWAtL(I*xJd53(9Te?%FiEDzr)>4 z$SN`FkR-Qu*c|S8FfwQ1A=a4j<(>2z!`Lf^qlSi~@7vl@Q+DEZ*cK0^wi!;Yb{yf_ zcK)oNQ}lhX^VR$4K;;dt?{>(#_S($K_Rpn;$>_b*tU2*QO{HsLgf#h-if@N@t$$8z z`h4;&myI$weeiR2^JI5F$7_FlbKI@raA7~HPyA@dTWRX}`*xbI`_as%@6ThBuQgMr z+ds>F_d|T=8J=uPy=?>g?r(cXUOe48w3xE<-Cb>%xcoYGMr8|AUhh%v;i#{*=+U0{ z;RZv0xA@U<*73pIex=ubR6}6YW=sF3@9x~bsMo$5)5%+d`gV(xxiZ_}Q*w{%Y+e8M z!|~q(F8moN!wK+}2t=DWbN~0RK{NP`z`sIifcTJbFc7a06;R{XXW)0}{7wj zgs897Esf5?S)k&2I9VbYA%MTfv-Ub!!hx5+8V@7{{{4zDan_?>KfhPMW#nWHwD9km z&!U0+9SP$fS^&`+&O(JqD5x`<8`(IS{ZZQQPD|y0l2D#0Q7#(Kf?=Ra2O7!9ujFED z^}x=_%Gu+O%zygU{Fm?!YGzJ$E{-N?9WR3tHEdQXD!xnGdW6f{d-_hgXL&@RugP2oMMeZ32Yz_{Rq(suWb||Aey`Qi0u;=hy1z2aePoP{7?KQUJ;ag$p79&!4~>7z`EUgCZd?*jdGY@zGhs0apxCb~bj7>h?w^ zKwy#IyA2Egz(zoMsNVneKm{Rjd0^sfW%mG}^Dk$acD6=V4}f$)q!OTbpd7+H#fsj4kiE|{NLy1vz))?2Efh0 zNd3>b`7H6T%>U+Hg8%;lHv^tuA+W#ZI6zet|NVc>%|OH$J_H;Fgsy=?!F+;%M_K3@ zI|EDw#Ml9YKuA6W;9~V`F#kvV3{(G$pLZ^){tG{!b@mrk|KVpO80E(m1Vb@2;L;ZL z3I#*>fQgRy|CXQ61o*G!{WpV-nrmn5^!Jc~;eg|szvRw8;^UXd0O$unf&o9fz<+@B z`Y&a}ttbg%NieSTz9<$uHGw(@UCVW9a+f*DI$z_TU#PE`;zCLEOS((<^^}wN_Ek)r z4*rQaw)x%l>D7jaoVkKi@#?OpUp`lR zV@M41|NOTRMN#1w$^KQO|5u@@&XnY@-2W}X|JFwTKPUL_YW9Dh;J+)Be#v|N9o#MUPJwSrqq$x>G_!c1zJ z7+Ay=FtTG%eD{fNU0vT@v#_%W(trcFq$ zYMS`86Oo%llJ%ot?-o63j}vkIT?cr-|M>k>DL!5>E`NeMxcpU!SO^~^(ZHvMI^K$E z@%oT$h3YiDay9)8?B{A(yUtd-G$d5n&x@%Gxl*3D5*4x}_o+(<%VPO7`h0|y*S+j4 zuN!=_iT&xRk9ESU7|7bxb3U9rA{q14+WSRRI`^+mTzH@9oycOVVc+%b!kwptF1i5= z0b?G{0wj$R*D5=CH0R4dr;y+@rg-mZ5QX8!IV`qdTF%&YL{*doU_Howod?48&hBe< z4PI*AK|DfOuhyrG=r?a%7`AxBI{Y+ZmavAvuy@??j&0X%TYF3#f|PN!^qmR`_lsXJ zhH|g*1=ybGtdC+2`I%_W@pUPB6*^*+i-PUSZNr{Vk#Chp3nb$Lm9y^7-|MU0abzk!ls@7{!irJ-r$12JhK1Ww|`=AIN&86XcHWQ($nxW zBmC_Bw{{8ua{U*E`ajC2y8t5$@V5>FV%eb(K;r+3P4_`)ocsq2m4V zs+n21*cdtf?rR+k%*lWB@_&w22m5Q$@_V#8_+Qr0Z`RydqJM-juuS0&GR}y#xrgCkLPuuK%kWW_ny~*cKp?fU!m&$7ol`P zaQNS}`mbEEqe}R#`)4iu)&0M93>0vf57hEs#i~Of5oodM?s(eV)20z$(r+*xEqg!u zWc^e9=xEgY3X}FHyZ2XX8Eh3td2OlQ-eS0)`fQx53zq-D*hGo(8RKoNtBjxWiTYWd zS#_~owt7{ekX@kw!pg@O>T1gpd3I7!GIU}|?z1%Ed2PQMgKP`u&67>RrAg0?L!YV5 zpWajOoWRS%9)Y3KVm>RMzPb^M9$sM@u17eZ;WQxSb z2H{)G;JA8Co3Z!x>)g_N(Ug*H=Kb9veKXQhdCyfYBP2qr)kH&n26YE1=M}qamSq>8 zZq56bZ{kA};t_lUQGw=UtX4Y*T&2huYAu8o{FO}4`@8o>KCn&LjA$~Od;v`buQk#1 z3C^N4c!4o`_P%wKE0)`tz* zlPOi$yn8?IHJFaqHcG%Y{~{kh(loFnerShVh!5s%47a|m?mnuHwZ;0vFO3E zdEY5xyUUv8$sHV^oIO1`hok*F-0y>YoNozt*$|uOg@#EOO0-9{)qk;xl>i0ziouLN zHjciZhKGmD!JfJW3&F_6WE3L2eC@&j2I}D_mle|fIdpXV zQ^+^M<&-pyDup1_13vMr`Bo3Zl0-O2)q$#TZe6j+Ap+ibVPDSj`Q&xAlxh~ujg_|Q z3*P&~N}DGd);5JDx4UjFx_;|Y9F3l+hfWB@a#H?`ND&L;)7rElUiShvtASqG{~9xRVxNA$5>Dne+!lV&K4KK+TX0lmD}cR84d1T8nKT;m%iQjlx}HA zPDJ~Rx!8?~TELvoa1jD>!hlkpJ=%NxHFYN*ewIktHXFIOvm)y=HpEtdLrZn#ov;*M z8KVH*{X+Kz%+zZ%mB?jJUj|P*=Dy;W-X@qfn~12kf;QSL8_OrDaKsz!dtVmCQy5(l zMx$)htP|L*6QDlZmi@nya)*D^zy_~e;yq>2Bv7! z(lJcDI>9kMkc&4o@o&=#!|C>@)}+5f@eafiyDuNwuj7mzNj#I`#NyAW!?c3sqdd}E zXW@*y2^xUtiIGf5vY>v2XnS|)_Dwy|^JgxLtYfO<57Z5y2~e&QhzC}|IDy77tiP8noL;26sZa?uEp54cjMT8UKZL# z9lq2@#0ED_xV#g{SJInYZk9XNbIzA>vk<$e4Rm1bdDMb(4GB%WlyZ7Z*@bZWtH4Cd zmj*uf|M*0C*-E(77Cc;xb^qhVulM~@E2)7GaO)!VSNBXKobKpTWiU44OFH{s&d6pG zk_c5UPrPc3Jqez^2Hko>n%`YwS;wQGmvog&^79heeMOc#BYwxNv-N&~cgODWtTQO_ zAle9GO5(2H!(p>*`A$Cfb^iU4q1gkn_8>)L(3Im=?-#iz_7Au_Fo&AQKdnS*rvx`= zM2-_1TIrZPyRds-b=A;ZD0J>_=h&s@PPTLxaxuh=Nk@A7uGf2vQqb5Sm~7jSlsc?Y z9tI-wi|GJ6K1^OzeIHGf=1^AgfkG%QmC*C1S*1;aM$!DY!xXV0EA2KaJh30kVMRrL znRkk;1{Mift>(ANY8t%VkKd9%RmNHBFMW*BL`ZxX+U00KR!#C8%ho6n**N=5&V*vs zPDhv|U@g!-7OJm+UBqO1}2=at(DlyHM~lwOac|0=>kqd*bB zf-j#-&7yjP3=8!L0t~zt9Pj+oTXe3?n$tH}y{3l&A8t(aIAxJX-Cx{Eo@bd;9an#% z_SoWzen7m35JgW#W=2Yny{XTn_~d8A2$jL|<~P>)+W}>7J)Ji2`cqFyKX!^1a(t1TM&QvD&7`gFK)y_v)?s<$r%2>mp?>8H>##?z7dhC0 zhb6n4&7ykJ723kD#HwX950m-s8_|WTb>h$#l+X@4k7Ql#m5uYcCz3#$=(J)37S+Y| zh`k5(mXeEm%eq_Q=2pP|F5y*YsdGq?uiCwPV(Up@MGC&IDIFvmsUYs&tWusr=!;3CNtMiUIw z0~}p(frfxx|N4XSWe=TikX)u`nxgTn4`VFmu`)BTmVVgXAdFX_jD>OK8F9qJ zp%2Bbruk_`?`TkuG0+#np%3YkqLuI8Pkawn4|f+K?Mz8pI4WeHbrU)!jY{t$FRk(N zz4)Tf7zmZvL!7b(oy?uQTVqB1q&%!6-$v;1&OUjrU^A;8Qro|ptS7;+)HIp9NjEHQ z+&Q6oGVQ9tR6*GYQ^kq2D39#%(f5Ws;=(7w-(G!7{I>gWKVj@$>SMCLwpV)|15pA_ zhNlqWyHUC&8$UWWBan&O)J)zz_K|r4A*o~Al$fi8l+i1Y&yUhk&@A({W2%B>g>wLiA+>?`38p1S|pVSztAWZ^N!GIK-^-K~=7Cr68?7(8Xg(bPll;kGZX z(YYly_Bmm`76ROEE#FEe`e=Ub5!`CNjD0jU5N3g2$Q+yT9D3(sXI&eQY_)Wd()2e&XZ#AFF(g? z4zAzTQ~XGc;eJBGe2Vk8%?|cq0N~RutB(Xfc zFakVu2NGVYk$Q5;Z@Zk***ojzYRZ@Rej)3Kq!5<<>}?92o8G$%u?1i3KKlZ&Mv>&&XLJOMs>(MmOZpbEh@#3KSiNW z$=AVI&A8v)$GQEO=sN?uN9v?R)a;Sek3+Wf%@-LBhas~xRLlFzaT{>n@esaJ$88aX^56dPcm@BA5Zx3S~V6Pijc{?41ii;43N9^0QLUUGIu2{;%Rr6whH?)4}fZDgn> z;=Gu-yDwe&Im$)J<{G(yMNv5A#-MgpMA;*((rIQVS4I6R>YnBgvUGe*VYMOxcZs;e zMcy2BWu`1>%eE+1hQHvc%$Pms?=<)B(^?ygm1xf|fjownOS@PpFyL{T9VX=EZISWJ zK%c*q3=_k+IR-a&vCFQ~m+GY~vW$g~lp+_=u zS)N~8ti_p3J8SKDzqPxJ$E~YuS7Tku=nX11HIKNtOw=|>Qn(^wm+e}ry1d?yS+B#_ z>$R^sf+IC3QjohcXVR>JOXW|{oS>YHzs(^+_R*tRBlKWH0cRLV&Hl z&+}xF_PR_KpQu@{RTTZ^sZ26v&EPHpXK&WxzYPUy7vtAZ{Idc7e|(^%CMOB(aQrvt zN$|gqN6`+2eqVy4QvB1pv-2cAI6?pcz`y|;4A?>k@quB2ptBu_vr{I}fBqh=n*Z+X z>1=1`pSph?wf!F-P5jR&^Y@7@T9bdL%VbH@LL0b5L{KgI|DU|=AwAUbxo zzlW9%3O=6>4gz|NmJT5ZFaR1RfCP55|HQx`6vLol5R?!?!(gbhd^8LJ#8yPd1b_o6 zGz{3f21x#AUI-YquZV`BVl$#+aNxui9YZ33nTeKH@O+!0VAQGRpXpGWRDWV%I8;yo zt<7LK42E*n|9f5lLkObv7r+F7Q+Bj;aFD>cI^YmgJj*}J12Uhh1C9W8LDAC*pe8d~ zUO_=LT7lsR2s&K=41T^J2;}*G0J8&ajKFXt7#%06}dz{@E4*7!cDE9s8HQ34&0^kALJvfKbP{=ok`y4gJ3%R?g1rxQe71o*Q&F!&s;kYLC;ngXnLzAa$H zIl2HU2Drt6UWXv+Ec(xSA>ecK4GDn&w@%R0!B9K-XnEnNvl4U+oi~6BQgBoZ+TYUw z7!tU`goeSv==}h$9i5{+aDhkw6}02e@{nM3IgUE%N0&JOCV)-@;0gyEjyAr)1qy&U z(CUCe&gm2&9UPs`z>O_|^Lc?Vz31wH!O-U_aQ=@#p9{ccE)WEb#{mqAu8#mIevYr8 zU_j-eUcL7WQov)w}B%o=~>qQC(qRBsC*aXnq2Vm#q5DYbNX#5Odfc^7l9WbC?RCMLv z`47MZ(RDl!rup1F0_A9EiOvh(-edgQ0BO-}?av!@;Pi)Myx>9nmlZx-y>i! z2s)nv7;tp=XZw&4VE&@f3cvtCelFcP8w5y)M4#tKC?F2dQ>|L zJc+u?iOxfUaDj6+2nsu&P7oEx{g3hlfo`DdMnOQkp|4W_40X5Q&%D6u16`jB0wh51 zhadt8Mxf1e00S=bp_d1+1{zHPVG2gK*94IeumIXz05Al)%_S%RG#b6l!15f;E(QbI z2!S^D&oDIE1Ym+7H2WTfp^rIWYk&pOWFmk8*2SNFLtzLsJ&3{t(R4C^ArQcQhTmxq zV1V)XC;d*H9P?O-2B>l2Jwo zT6rh~;ZGg{nj(Ne?=OHM(dH454&WCwIs+IKf;N`GVjoys{aG(yzJSsB6ug=PMu``uqh0h7Y=40I+jwViX2k z=S8mr2}SP*Q~(J_p9_G|iN03=TrdXHsh_eGcqd0Ja`lTVNmoFzO~h z>hJG8BOo2H^?){RC=5;BqtYSJc@4nO*W##j=(Z>d6GU4JondHu4*&)vJJ)7G7@Dp{ zr2~ux^nL)65{>VH1vVJXzCta!A?Mlx20DT^KLFDQutw490Dho?wig7H2Q&|D{sK!T zU}c7$7k-ZafOO|%Hh>|2=M85^BP$y-M|{)|RMf2=nw@P5@~hd|IWqz^pl<0aJTSLo f1gHUgKHJDQa&$i1KLnZv7X&V=v9ijj$m0J$QiN4b literal 0 HcmV?d00001 diff --git a/admin-guide/architecture.rst b/admin-guide/architecture.rst new file mode 100644 index 00000000..a48371f2 --- /dev/null +++ b/admin-guide/architecture.rst @@ -0,0 +1,19 @@ +============== + Architecture +============== + + +Contents: + +.. toctree:: + :maxdepth: 2 + + architecture/overview + architecture/accounts-and-groups + architecture/authentication-authorization + architecture/networking + architecture/services-cron-etc + architecture/version-control + architecture/security + architecture/active-directory + architecture/certificates diff --git a/admin-guide/architecture/accounts-and-groups.rst b/admin-guide/architecture/accounts-and-groups.rst new file mode 100644 index 00000000..a92c7d4c --- /dev/null +++ b/admin-guide/architecture/accounts-and-groups.rst @@ -0,0 +1,132 @@ +========== + Accounts +========== + +Linux accounts are generally stored and managed in Active Directory. + + +Account Types +------------- + +There are several types of accounts, which are usually indicated by a prefix or +suffix: + +- Normal accounts. No prefix or suffix. Older accounts are just last names, + newer accounts are LASTNAME_X, where X is the first letter of the given name. +- Global accounts. These have a ``gac-`` prefix. There are only a handful of + these on Linux so far, due to concerns about the lack of login restrictions. +- Administrator accounts. Marked with an ``-adm`` suffix. +- External users. These start with an ``ext-`` prefix and are provided to + external users, ie. those who are not PSI employees. +- Service accounts. These come with an ``svcusr-`` prefix and are used for + running services. + + +UID Allocation +-------------- + +============== =============== +Old accounts 1000-6000 +GFA accounts 10000-30000 +External users 30000-35000 +New accounts 35000+ +============== =============== + + +LDAP Attribute Mapping +---------------------- + +========= ======================== +Attribute LDAP Attribute +--------- ------------------------ +username ``msSFU30Name`` +UID ``msSFU30UidNumber`` +GID ``msSFU30GidNumber`` +home ``msSFU30HomeDirectory`` +shell ``msSFU30LoginShell`` +========= ======================== + + +Primary Groups +-------------- + +At PSI the user-private group scheme (UPG), the default on Red Hat +distributions, is **not** used. Instead, every user's primary group is usually +one specific to the group/department the user is working for, eg. ``unx-ait``. + +Users for whom there is no natural choice of primary group are assigned +``unx-nogroup``. + + +Low GIDs +-------- + +A number of groups have very low GIDs (<500), in particular:: + + unx-fkt:*:101: + unx-lke:*:110: + unx-abe:*:120:stingelin + unx-aea:*:130: + unx-lmu:*:140: + unx-lem:*:141: + unx-muesr:*:150: + unx-asm:*:210: + unx-lrp:*:220: + unx-zrp:*:221: + unx-ash:*:230: + unx-ppt:*:280: + unx-pmr:*:290: + unx-cmt:*:301: + unx-lfk:*:310: + unx-lch:*:320: + unx-lns:*:330: + unx-lap:*:340: + unx-lmn:*:350: + unx-asq:*:360: + unx-crpp:*:370: + unx-psq:*:380: + unx-psz:*:390: + unx-gabe:*:402: + unx-lrs:*:410: + unx-lth:*:420: + unx-lwv:*:430: + unx-les:*:440: + unx-dtp:*:451: + unx-lsu:*:490: + + +Shells +------ + +We support bash, and we also try to keep tcsh working. + +Currently bash, tcsh, and sh are used. The form for ordering accounts also +offers ``/bin/ksh`` and ``/bin/zsh``. The most popular by far is bash. + + +Special Accounts +---------------- + +``linux_ldap``: query LDAP +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The `linux_ldap` account has read-only permissions on a limited subset of the +LDAP attributes. It is used by `nslcd`, for example, to query LDAP for users' +uid, gid, etc. + +The password should not be shared unnecessarily, but it does not need +to be specifically protected either. In fact, in earlier releases of +Scientific Linux it was necessary to have `/etc/nslcd.conf`, which +contains the password, world-readable. + +This account **must not** be given additional access or privileges. + +``linuxadjoin.psi.ch@D.PSI.CH`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This account is a pure AD account (ie it doesn't have Unix attributes like uid), +which is used to manage computer objects in AD automatically. In particular, it +is used to precreate computer objects to allow password-less AD joins. + +The account is only used on the Puppet server and has no (known) password. +Instead a keytab is used to get a valid Kerberos ticket. diff --git a/admin-guide/architecture/active-directory.rst b/admin-guide/architecture/active-directory.rst new file mode 100644 index 00000000..20a806f6 --- /dev/null +++ b/admin-guide/architecture/active-directory.rst @@ -0,0 +1,46 @@ +================== + Active Directory +================== + +Kerberos Realm and Settings +--------------------------- + +The AD domain (ie the Kerberos realm) is D.PSI.CH, **not** PSI.CH. The maximum +lifetime of a ticket is about a day, and a ticket can be renewed for about a +week. + + +Domain Controllers +------------------ + +In most networks ``d.psi.ch`` resolves to the correct names/IPs. One exception +is the DMZ. + +The domain controllers that are used internally are: + +- dc00 +- dc01 +- dc02 + +In the DMZ we need to use these instead: + +- rodc00 +- rodc01 + +It is important to note that the SSL certificates for the internal DCs are +**not** signed for ``dc0n.psi.ch``, but ``dc0n.d.psi.ch`` (note the extra `d`). +In certain contexts (eg in :manpage:`sssd.conf(5)`) specifying the DCs as +``dc0n.psi.ch`` fails because of this. + + +Linux Computer Objects +---------------------- + +Computer objects for Linux systems are created in +``OU=linux,OU=computers,OU=psi,DC=d,DC=psi,DC=ch``. We do not distinguish +between servers and workstations in AD (unlike the Windows team), as the +distinction isn't clear and it wouldn't help us anyway (as we don't use AD group +policies). + +We perform the join password-less, by pre-creating the computer object using a +script running on the Puppet master. diff --git a/admin-guide/architecture/authentication-authorization.rst b/admin-guide/architecture/authentication-authorization.rst new file mode 100644 index 00000000..a8ed7bcc --- /dev/null +++ b/admin-guide/architecture/authentication-authorization.rst @@ -0,0 +1,17 @@ +Authentication and authorization +================================ + +We use/support the following authentication mechanisms: + +- SSH keys/certificates +- Kerberos tickets (AD) +- Password (checked against AD), not for the ``root`` account + +Login is restricted to certain users and groups on each system. This is +implemented locally using :manpage:`pam_access(8)`. + +Shared Credentials +------------------ + +Shared credentials should be avoided, eg. by using ``.k5login`` or +``AuthorizedPrincipalsFile`` (see :manpage:`sshd_config(5)` for details). diff --git a/admin-guide/architecture/certificates.rst b/admin-guide/architecture/certificates.rst new file mode 100644 index 00000000..1e3633ec --- /dev/null +++ b/admin-guide/architecture/certificates.rst @@ -0,0 +1,5 @@ +Certificates +============ + +For services which are accessed by users, we use certificates provided by SWITCH +as described in Operations/Certificates. \ No newline at end of file diff --git a/admin-guide/architecture/networking.rst b/admin-guide/architecture/networking.rst new file mode 100644 index 00000000..6b05c0ae --- /dev/null +++ b/admin-guide/architecture/networking.rst @@ -0,0 +1,100 @@ +============ + Networking +============ + +The PSI network is quite fragmented and traffic is often restricted between +different subnets. As far as the Linux infrastructure is concerned we currently +distinguish two network zones: external (DMZ, Extranet, Tier3) and internal +(everything else). + +Each 'zone' is supposed to have one instance of the Linux infrastructure +systems, eg Yum repository. This is not entirely true at this point, but +progress has been made towards this goal. + +Within a zone all systems are allowed to connect to the respective +infrastructure systems. This page lists the exact connectivity requirements. + + +Requirements +============ + + +Configuration Management and Software Distribution +-------------------------------------------------- + +Eventually there should be a separate Puppet server in the DMZ, but for now we +use the internal one. + +======= ======================= ====================== ============= ==================== +Source Destination (internal) Destination (external) Ports Purpose +------- ----------------------- ---------------------- ------------- -------------------- +any puppet00 puppet00 8080, 8140 Puppet +any repo00 repo00 80, 443 Software Packages +======= ======================= ====================== ============= ==================== + + +Authentication +-------------- + +We use Active Directory for authentication, so Kerberos and encrypted LDAP +connections must be allowed to the domain controllers: + +======= ======================== ====================== ============= ======================== +Source Destination (internal) Destination (external) Ports Purpose +------- ------------------------ ---------------------- ------------- ------------------------ +any {dc00,dc01,dc02} rodc{00,01} 88, 464, 636 AD authentication/joins +======= ======================== ====================== ============= ======================== + + +Deployment +---------- + +For the successful deployment of Linux systems, the requirements below must be +met. Systems are currently not deployed in external networks (DMZ, Extranet, +Tier3), so this only applies internally. + +- `Configuration Management and Software Distribution`_ +- `Authentication`_ + +In addition, the following: + + +======= ============ ================ =================== +Source Destination Ports Purpose +------- ------------ ---------------- ------------------- +any boot00 UDP/69, 80, 443 PXE/Kickstart +======= ============ ================ =================== + +Finally, having DHCP is helpful, but not necessary. + + +Monitoring/Reporting +-------------------- + +======= ====================== ====================== ============= ====================== +Source Destination (internal) Destination (external) Ports Purpose +------- ---------------------- ---------------------- ------------- ---------------------- +any influx00 influxdmz00 8086 Performance metrics +any rep N/A 443 Reporting (turned off) +======= ====================== ====================== ============= ====================== + + +Configuration +============= + +IPv6 +---- + +Starting with RHEL 7 we do *not* disable IPv6 completely. We leave it on, but do +not configure any addresses. The routers at PSI also don't send router +advertisements, the DHCP server doesn't provide IPv6 addresses. + +As a consequence, the network interfaces on these systems only have a link-local +address and IPv6 isn't actually used in practice. The reason for leaving IPv6 +enabled is to slowly gain experience with the protocol. So far we have run into +two issues: + +- In one network the router *did* send router advertisements, but the route + didn't actually work. +- Some DNS names resolve to IPv6 addresses as well as IPv4 ones. Combined with + the first issue, this caused deployment to fail on a console. diff --git a/admin-guide/architecture/overview.rst b/admin-guide/architecture/overview.rst new file mode 100644 index 00000000..318e5cd7 --- /dev/null +++ b/admin-guide/architecture/overview.rst @@ -0,0 +1,60 @@ +Overview +======== + +Documentation +------------- + +This admin guide as well as the user guide are written using Sphinx with +ReStructured Text. In addition, Git repositories usually contain a README.md +file. + +This `admin guide `_ is +automatically rebuilt when changes are pushed. + + +Deployment +---------- + +We generally deploy systems using PXE/Kickstart, even VMs. There is a VM +template, but it only defines the standard hardware/VM settings. No software is +pre-installed. + +We use an iPXE image, which retrieves its client-specific configuration from a +web service, which also generates the client-specific Kickstart file. + +For systems where network booting isn't possible, eg. because DHCP isn't +available, we can boot from USB as well. + +The installation process is very roughly: + +1. Install a minimal system plus the Puppet agent using Kickstart +2. Reboot +3. On first boot, run Puppet, which installs/configures the rest + + +OS, Software, and Licenses +-------------------------- + +We use Red Hat Enterprise Linux 7 (aka RHEL 7). The licenses are provided by +ETHZ, and we mirror the software from their Satellite server locally. We do not +have direct access to Red Hat support, but we can access the Red Hat customer +portal. + +In addition to RHEL, we use/make available the following: + +- EPEL (all of it) +- ELREPO (mostly for the Nvidia drivers) +- Puppet +- NoMachine + +In addition there are several internal repositories. + + +Configuration Management and Automation +--------------------------------------- + +We use `Puppet `_ for configuration management on Linux +systems. Configuration data is managed using `Hiera +`_. + +Scripts are generally written in bash or Python. diff --git a/admin-guide/architecture/security.rst b/admin-guide/architecture/security.rst new file mode 100644 index 00000000..b99b3324 --- /dev/null +++ b/admin-guide/architecture/security.rst @@ -0,0 +1,35 @@ +========== + Security +========== + +Access Control +-------------- + +Access control on systems is done using ``pam_access``, ``pam_listfile``, etc. +By default, remote access is only granted to certain users/groups configured in +Hiera (see ``profile::aaa`` for details). Local access is currently +unrestricted, ie. every valid PSI Linux account can log in locally. + + +``root`` login +-------------- + +- only with keys/Kerberos tickets +- only through bastion hosts (wmgt*, two-factor auth) by default + + + + + +SELinux +------- + +- depends on the role, enforcing by default, enforcing on all infrastructure + systems + + +Firewall/tcpwrappers +-------------------- + +- tcpwrappers yes +- firewall no diff --git a/admin-guide/architecture/services-cron-etc.rst b/admin-guide/architecture/services-cron-etc.rst new file mode 100644 index 00000000..62db8eec --- /dev/null +++ b/admin-guide/architecture/services-cron-etc.rst @@ -0,0 +1,35 @@ +========= + systemd +========= + + +SysV init scripts +----------------- + +We only use SysV init scripts if systemd unit files are not provided by the +software in question. Our own services are all configured through systemd unit +files. + + +``cron`` vs. systemd timers +--------------------------- + +While we start/enable cron by default, we use systemd timers for everything. The +advantages are: + +- unified view with other system entities, eg. services, mounts, devices +- easy log filtering with ``journalctl -u TIMER`` +- easy introspection via ``systemctl list-timers``, ``systemctl cat TIMER``, + etc. + + +Mounts +------ + +Mounts, including automounts, are configured in /etc/fstab. Generating the mount +units directly leads to certain difficulties (SELinux problems which we never +quite figured out, stale mount unit files when the mountpoint changes, etc). +Automounts can be configured by adding ``x-systemd.automount`` to the mount +options. + +We do start the ``autofs`` service on some systems, to provide the ``-net`` map. diff --git a/admin-guide/architecture/version-control.rst b/admin-guide/architecture/version-control.rst new file mode 100644 index 00000000..f7d68b5e --- /dev/null +++ b/admin-guide/architecture/version-control.rst @@ -0,0 +1,66 @@ +Version control +--------------- + +We use the internal `PSI Gitlab server `_ for version +control. On this server we use a single repository group (``linux-infra``) for +all infrastructure-related repositories, because this way a number of things +have to be configured only once, e.g. members. In addition milestones and labels +are group-wide concepts in Gitlab, and it is very useful to have those apply to +all repositories. Finally it is easy to see all issues and merge requests for a +repository group. + + +Repositories +~~~~~~~~~~~~ + +Our repositories are configured in the following way: + +The ``puppet`` repository +......................... + +- Fast-forward merges only + + This keeps the history linear without merge commits, which makes it easier to + read. + +- Merges to ``prod`` or ``preprod`` require one approval + +- Approval is revoked when further changes are pushed to an already approved + merge request. + +- The default branch is called ``prod``. There is no ``master`` branch. +- The ``prod`` branch is protected. +- The ``preprod`` branch is protected. + + +Hiera repositories +.................. + +These repositories contain Hiera data. There is exactly one repository per sysdb +environment. The repository for environment ``foo`` is called ``data-foo``. + +Access is granted to the owner and admins of the corresponding sysdb environment. + + +Development workflow +~~~~~~~~~~~~~~~~~~~~ + +We steer development through Gitlab issues. + +For every change, be it a new feature, bug fix, or improvement, we create an +issue on the relevant repository. Issues that have broader implications and do +not naturally belong to a code repository, go into the ``org`` repository. An +example would be a change of the development workflow or repository +authorization. + +When starting work on a change, the developer first assigns the issue to +themselves. + +Once the developer has finished development and tested the change, they rebase +their changes to the ``prod`` branch, push the changes to a new branch, and +opens a merge request to the ``preprod`` branch. Each issue ``#N`` being fixed +must be mentioned at the start of the commit message in the form ``Fix #N``. + +Other developers will review the merge request. If they approve it, either the +approving or the original developer may accept it, which will trigger the actual +merge. diff --git a/admin-guide/conf.py b/admin-guide/conf.py new file mode 100644 index 00000000..a5f8e532 --- /dev/null +++ b/admin-guide/conf.py @@ -0,0 +1,242 @@ +# -*- coding: utf-8 -*- +# +# Linux Infrastructure documentation build configuration file, created by +# sphinx-quickstart on Mon Apr 11 13:24:16 2016. +# +# This file is execfile()d with the current directory set to its containing dir. +# +# Note that not all possible configuration values are present in this +# autogenerated file. +# +# All configuration values have a default; values that are commented out +# serve to show the default. + +import sys, os + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +#sys.path.insert(0, os.path.abspath('.')) + +# -- General configuration ----------------------------------------------------- + +# If your documentation needs a minimal Sphinx version, state it here. +#needs_sphinx = '1.0' + +# Add any Sphinx extension module names here, as strings. They can be extensions +# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. +extensions = [] + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# The suffix of source filenames. +source_suffix = '.rst' + +# The encoding of source files. +#source_encoding = 'utf-8-sig' + +# The master toctree document. +master_doc = 'index' + +# General information about the project. +project = u'Linux Infrastructure' +copyright = u'2016, PSI Linux Administrators' + +# The version info for the project you're documenting, acts as replacement for +# |version| and |release|, also used in various other places throughout the +# built documents. +# +# The short X.Y version. +version = '1.0' +# The full version, including alpha/beta/rc tags. +release = '1.0' + +# The language for content autogenerated by Sphinx. Refer to documentation +# for a list of supported languages. +#language = None + +# There are two options for replacing |today|: either, you set today to some +# non-false value, then it is used: +#today = '' +# Else, today_fmt is used as the format for a strftime call. +#today_fmt = '%B %d, %Y' + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +exclude_patterns = ['_build'] + +# The reST default role (used for this markup: `text`) to use for all documents. +#default_role = None + +# If true, '()' will be appended to :func: etc. cross-reference text. +#add_function_parentheses = True + +# If true, the current module name will be prepended to all description +# unit titles (such as .. function::). +#add_module_names = True + +# If true, sectionauthor and moduleauthor directives will be shown in the +# output. They are ignored by default. +#show_authors = False + +# The name of the Pygments (syntax highlighting) style to use. +pygments_style = 'sphinx' + +# A list of ignored prefixes for module index sorting. +#modindex_common_prefix = [] + + +# -- Options for HTML output --------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +html_theme = 'default' + +# Theme options are theme-specific and customize the look and feel of a theme +# further. For a list of options available for each theme, see the +# documentation. +#html_theme_options = {} + +# Add any paths that contain custom themes here, relative to this directory. +#html_theme_path = [] + +# The name for this set of Sphinx documents. If None, it defaults to +# " v documentation". +#html_title = None + +# A shorter title for the navigation bar. Default is the same as html_title. +#html_short_title = None + +# The name of an image file (relative to this directory) to place at the top +# of the sidebar. +#html_logo = None + +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +#html_favicon = None + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +html_static_path = ['_static'] + +# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, +# using the given strftime format. +#html_last_updated_fmt = '%b %d, %Y' + +# If true, SmartyPants will be used to convert quotes and dashes to +# typographically correct entities. +#html_use_smartypants = True + +# Custom sidebar templates, maps document names to template names. +#html_sidebars = {} + +# Additional templates that should be rendered to pages, maps page names to +# template names. +#html_additional_pages = {} + +# If false, no module index is generated. +#html_domain_indices = True + +# If false, no index is generated. +#html_use_index = True + +# If true, the index is split into individual pages for each letter. +#html_split_index = False + +# If true, links to the reST sources are added to the pages. +#html_show_sourcelink = True + +# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. +#html_show_sphinx = True + +# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. +#html_show_copyright = True + +# If true, an OpenSearch description file will be output, and all pages will +# contain a tag referring to it. The value of this option must be the +# base URL from which the finished HTML is served. +#html_use_opensearch = '' + +# This is the file name suffix for HTML files (e.g. ".xhtml"). +#html_file_suffix = None + +# Output file base name for HTML help builder. +htmlhelp_basename = 'LinuxInfrastructuredoc' + + +# -- Options for LaTeX output -------------------------------------------------- + +latex_elements = { +# The paper size ('letterpaper' or 'a4paper'). +#'papersize': 'letterpaper', + +# The font size ('10pt', '11pt' or '12pt'). +#'pointsize': '10pt', + +# Additional stuff for the LaTeX preamble. +#'preamble': '', +} + +# Grouping the document tree into LaTeX files. List of tuples +# (source start file, target name, title, author, documentclass [howto/manual]). +latex_documents = [ + ('index', 'LinuxInfrastructure.tex', u'Linux Infrastructure Documentation', + u'PSI Linux Administrators', 'manual'), +] + +# The name of an image file (relative to this directory) to place at the top of +# the title page. +#latex_logo = None + +# For "manual" documents, if this is true, then toplevel headings are parts, +# not chapters. +#latex_use_parts = False + +# If true, show page references after internal links. +#latex_show_pagerefs = False + +# If true, show URL addresses after external links. +#latex_show_urls = False + +# Documents to append as an appendix to all manuals. +#latex_appendices = [] + +# If false, no module index is generated. +#latex_domain_indices = True + + +# -- Options for manual page output -------------------------------------------- + +# One entry per manual page. List of tuples +# (source start file, name, description, authors, manual section). +man_pages = [ + ('index', 'linuxinfrastructure', u'Linux Infrastructure Documentation', + [u'PSI Linux Administrators'], 1) +] + +# If true, show URL addresses after external links. +#man_show_urls = False + + +# -- Options for Texinfo output ------------------------------------------------ + +# Grouping the document tree into Texinfo files. List of tuples +# (source start file, target name, title, author, +# dir menu entry, description, category) +texinfo_documents = [ + ('index', 'LinuxInfrastructure', u'Linux Infrastructure Documentation', + u'PSI Linux Administrators', 'LinuxInfrastructure', 'One line description of project.', + 'Miscellaneous'), +] + +# Documents to append as an appendix to all manuals. +#texinfo_appendices = [] + +# If false, no module index is generated. +#texinfo_domain_indices = True + +# How to display URL addresses: 'footnote', 'no', or 'inline'. +#texinfo_show_urls = 'footnote' diff --git a/admin-guide/deployment.rst b/admin-guide/deployment.rst new file mode 100644 index 00000000..56b9c5ca --- /dev/null +++ b/admin-guide/deployment.rst @@ -0,0 +1,25 @@ +Deployment +========== + +Linux systems are generally deployed using PXE and Kickstart. We use iPXE, which +can retrieve its configuration via HTTP(S) and therefore gives us a lot of +flexibility, because the iPXE configuration can be generated on the fly with the +specific settings needed by the booting client. In the same way the Kickstart +configuration for the RHEL installer is auto-generated. + +The information used for generating the iPXE and Kickstart configurations is +stored in the sysdb (see below). The sysdb is accessible through a web api, and +a command line client is available. + +When PXE boot is not an option, e.g. in restricted networks, it is possible to +start iPXE from a USB stick or other media. + +.. toctree:: + :maxdepth: 2 + + deployment/ipxe + deployment/kickstart + deployment/partitioning + deployment/sample + deployment/infrastructure + deployment/workflow diff --git a/admin-guide/deployment/infrastructure.rst b/admin-guide/deployment/infrastructure.rst new file mode 100644 index 00000000..9de7af60 --- /dev/null +++ b/admin-guide/deployment/infrastructure.rst @@ -0,0 +1,94 @@ +============================ +Deploying the infrastructure +============================ + +Introduction +============ + +The deployment infrastructure is composed of: + + - one sysdb server; + - one puppet server; + - one repository server. + +We currently have two infrastructures in place, one for testing and the +other for production, with the following hostnames: + ++--------------------+----------------+-----------------+ +| Role | testing host | production host | ++====================+================+=================+ +| sysdb server | boot00-test | boot00 | ++--------------------+----------------+-----------------+ +| puppet server | puppet00-test | puppet00 | ++--------------------+----------------+-----------------+ +| repository server | repo00-test | repo00 | ++--------------------+----------------+-----------------+ + +The Sysdb Server +---------------- + +The sysdb server is a server running HTTP(S) services needed by +other components of the deployment infrastructure, specifically to: + + - setup (add/remove/modify) the hosts managed by the system; + - get the iPXE file for the managed hosts; + - get the Kickstart file for the managed hosts. + +The code for these services is avaiable at ``_. + +the Puppet Server +----------------- + +The puppet server is a rather standard puppet master, configured to +use ``sysdb`` informations as ENC. + +The Repo Server +--------------- + +The service that provides clones of different repositories (RHEL, +Puppetlabs, Google Chrome) plus some internally developed ones for +specific products (eg. GPFS). + +You can reach the production one at: ``_. + +Deployment of an infrastructure server +====================================== + +The procedure is not fully automated and completely documented. + +The reference repo server is ``_. + +The installation of an infrastructure server uses: + - ETH repositories (since the repo server is not assumed to be available) + - PXE only and static kickstart file (since the boot server is not supposed to be available) + +After the installation, inside ``/root/bootstrap/instcode`` there is a script for each +server, called ``{puppet,boot,repo}-server``. +The script should be run manually and some user interaction is needed. + +Before to install you need to have: +- a copy of the ssh root user keys and ssh server keys +- a Red Hat Satellite Key. You can get it via the RHN Satellite Account at ETH + +So to install eg. ``puppet00-test`` the procedure would be: + + - ensure on the Satellite web site that the system is not present (Systems-> Overview page) + - copy the kickstart on ``/afs/psi.ch/project/linux/www/kickstart/configs/linux-infra/`` + - copy the pxe in ``/afs/psi.ch/service/linux/tftpboot/pxelinux.cfg/`` + - install the server booting from network + - after the installation the server will stop + - reboot it + - login on the server + - copy the ssh key + - enter the ``/root/bootstrap/instcode`` directory + - optionally change the branch + - run ``./puppet-server`` + + +Please note that in some cases the ETH repo used during the +installation is not properly working. + +In the case you are not redeploying the repo server, then it can be +used instead of the ETH one, changing properly the PXE and the +kickstart file. + diff --git a/admin-guide/deployment/ipxe.rst b/admin-guide/deployment/ipxe.rst new file mode 100644 index 00000000..d11805b6 --- /dev/null +++ b/admin-guide/deployment/ipxe.rst @@ -0,0 +1,61 @@ +PXE-booting with iPXE +===================== + +UEFI +---- + +iPXE supports UEFI and so do we. This requires the ``ipxe.efi`` boot image. + + +Process +------- + +When a system PXE boots, the DHCP server will boot either pxelinux in legacy +mode or grub on UEFI. It is still possible to load ipxe from either of these. +With the right option, the boot process is pointed to ``boot00.psi.ch`` and one +of the following boot images: + +- ``ipxe.efi`` for systems using UEFI +- ``ipxe.lkrn`` for all other systems + +The system downloads the image and executes it. + +The image contains a small iPXE script, which makes iPXE retrieve its actual +configuration from a web service running (usually) on ``boot00.psi.ch``. +Specifically, it queries the URL +``https://boot00.psi.ch/ipxe/v1/config?mac=``, where ```` is the MAC +address of the interface used by iPXE. + +The web service on ``boot00.psi.ch`` will generate the iPXE configuration on the +fly, depending on whether the system is supposed to be reinstalled and if so, +which distribution it is supposed to use. The menu offers other options as well, +e.g. an interactive iPXE shell and a memory test. + + +Building the iPXE boot image +---------------------------- + +The steps for building an iPXE image are + +1. Clone ``git@git.psi.ch:linux-infra/ipxe-build.git`` +2. Change into the new directory +3. Run the ``refresh-ipxe.sh`` script. This will check out the iPXE source code + mirror from ``git.psi.ch``. +4. Run the ``build.sh`` script. This will use the named configurations in the + ``ipxe-build`` repository to compile two iPXE images: ``src/bin/ipxe.lkrn`` + (legacy boot) and ``src/bin-x86_64-efi/ipxe.efi`` (UEFI). + + +As described above, we use an iPXE boot image with an embedded script looking +roughly like the following:: + + #!ipxe + + dhcp && goto dhcp_succeeded + + shell + #prompt for network info + + :dhcp_succeeded + + chain http://boot00.psi.ch/ipxe/v1/config?mac=${netX/mac} diff --git a/admin-guide/deployment/kickstart.rst b/admin-guide/deployment/kickstart.rst new file mode 100644 index 00000000..a4673469 --- /dev/null +++ b/admin-guide/deployment/kickstart.rst @@ -0,0 +1,11 @@ +Kickstart +========= + +The auto-generated Grub or iPXE configuration will, when installing RHEL, instruct +the RHEL installer to download the Kickstart configuration from +``https://boot00.psi.ch/kickstart/v1/config?fqdn=&instrepo=``, +where ```` is the FQDN of the host to be installed, and ```` is +the installation repository to be used. + +The web service will auto-generate the Kickstart configuration for the client +based on information in sysdb, e.g. the release to be installed. diff --git a/admin-guide/deployment/partitioning.rst b/admin-guide/deployment/partitioning.rst new file mode 100644 index 00000000..39625992 --- /dev/null +++ b/admin-guide/deployment/partitioning.rst @@ -0,0 +1,30 @@ +Partitioning +============ + +Partitions system are configured with a standard schema using LVM, so +that they can be possibly changed afterwards. + +By default the whole space available on the first block device is used +and any existing partition is removed. +The default partition schema is: + + - create one primary ``/boot`` partition of 1Gb; + - create the ``vg_root`` Volume Group that uses the rest of the disk; + - on ``vg_root`` create the following logical volumes: + - ``lv_root`` of 12 Gb size for ``/root``; + - ``lv_var`` of 8 Gb size for ``/var``; + - ``lv_var_log`` of 2 Gb size for ``/var/log``; + - ``lv_tmp`` of 2 Gb size for ``/tmp``. + + +Custom Partitioning +------------------- +It is possible to customize the partitioning by using the ``partitions`` attribute on sysdb. + +The ``partitions`` attribute can take two values: + + - ``manual``: this will not partition the disks and the installation process will wait for manual partitioning; + - ````: it is assumed to be a file containing the partitioning commands as used in kickstart. + +If it is not possible to download the given URL the system fails-back to manual at installation time. +Please also note that no check is done on the URL content. diff --git a/admin-guide/deployment/sample.rst b/admin-guide/deployment/sample.rst new file mode 100644 index 00000000..87117b75 --- /dev/null +++ b/admin-guide/deployment/sample.rst @@ -0,0 +1,60 @@ +Sample deployment of a new server +================================= + +In this section we describe the deployment of a new server from +scratch. +All the operations will be performed using `bob`, the command-line +client for interacting with `sysdb`. + +The informations we need are: + + - the server name: ``logging-ra.psi.ch`` + - the server MAC address: ``23:3d:ef:33:11:22`` + - the server role: ``role::logging_server`` + - the server environment in puppet: ``production`` + - the sysdb environment: ``daas`` + +On our laptop, where we have a local copy of `bob`, we first setup +some environment variables to have shorter commands: :: + + export PSI_BOB_URL=https://boot00-test.psi.ch/sysdb + export PSI_BOB_USER=talamo_i + +The $PSI_BOB_USER is needed because our local user is different from +the one on sysdb. It could also be specified on the command line or +let `bob` take the local username. + +We then create a deployment environment:: + + bob env add daas talamo_i daas-admins 'DaaS Cluster' + +We add the node to the environment, specifing ``netboot`` as +the boot action :: + + bob node add logging-ra.psi.ch daas netboot + +We setup its MAC address: :: + + bob node add-mac logging-ra.psi.ch 23:3d:ef:33:11:22 + +And we finally setup the puppet role and puppet environment: :: + + bob node set-attr syslog-ra.psi.ch puppet_role=role::log_server + bob node set-attr syslog-ra.psi.ch puppet_env=production + + +PXE server-side configuration +----------------------------- + +In case the node is configured to use legacy BIOS mode (and +not UEFI mode) the following has to be run on the PXE server to make +the node boot the ipxe image: :: + + cd /afs/psi.ch/service/linux/tftpboot/pxelinux.cfg/ + ln -sf lxprod logging-ra + MAC='the::node::mac::address' + MACFILENAME="01-`echo $MAC|tr 'A-Z' 'a-z'| sed 's/:/-/g'`" + ln -sf logging-ra $MACFILENAME + +Otherwise the node will boot with the old pxe configuration. In such +case is possible to boot ipxe typing `lxprod` on the PXE command line. diff --git a/admin-guide/deployment/workflow.rst b/admin-guide/deployment/workflow.rst new file mode 100644 index 00000000..1c4167eb --- /dev/null +++ b/admin-guide/deployment/workflow.rst @@ -0,0 +1,165 @@ +=================================== +Deploying New Environment: Workflow +=================================== + +Introduction +============ + +Deploying a new environment requires the following: + 1. Configuring the environment in **bob** + 2. Configuring the environment in GIT (``git.psi.ch``) + + - Environment format: ``data-`` + - And change permissions accordingly + + 3. Configuring the environment in Puppet (``puppet00.psi.ch``) + +Configuring the environment in sysdb +------------------------------------ + +Bob allows to create a new environment in ``sysdb`` by using the ``bob +env`` option. You must have permissions to do that. + + +You must belong to the ``sysdb-admins`` group that is actually +configured on the local ``/etc/group`` file. A migration to Active +Directory should be done for that group. + +To list current defined environments run:: + + bob env list + +To add a new environment, run:: + + bob env add "" + +In example, for the MeG cluster:: + + bob env add meg caubet_m unx-hpc_adm "MeG Cluster" + +Test new environment in BOB +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In order to test that environment was successfully created:: + + bob env list | grep + +In example:: + + caubet_m@caubet-laptop:~/GIT/admin-guide/deployment$ bob env list | grep meg + meg caubet_m unx-hpc_adm MeG Cluster + +Configuring the environment in GIT +---------------------------------- + +Current **GIT** server at **PSI** is ``git.psi.ch``. Every new environment should in principle belong to the **linux-infra** project. + +You must belong to the ``puppet_env`` Active Directory group in order to be able to create new projects. + +In order to create a new environment in **GIT**, you should access and login in the following link: https://git.psi.ch/linux-infra/. Here you can see +the different environments and **GIT** projects belonging to the **linux-infra** group. + +The steps to create and configure a new **GIT** project are: + +1. Create a new project (environment). It can be done here: https://git.psi.ch/projects/new + + - Go to ``[Blank project] Tab`` (which is the *default* tab) + - Change ``[Project Path]`` as follows: + - https://git.psi.ch/ + ``linux-infra`` + - Define ``[Project Name]``, which *must* have the following format: + - ``data-`` where ```` is the one defined in **Bob** + - *[Optional]* Specify ``[Project description]`` + - Specify ``[Visibility Level]``: + - Should be ``Internal`` + +2. Configure *project* permissions as follows: + + - ``[data-[Settings]->[Repository]``, or directly: https://git.psi.ch/linux-infra/data-(environment_name)/settings/repository + - ``[Deploy Keys]`` -> select ``root@puppet00.psi.ch'`` -> click on ``'Enable'`` + - ``[data-[Settings]->[Members]``, or directly: https://git.psi.ch/linux-infra/data-(environment_name)/project_members + - Setup specific permissions for specific users or groups. In example: + - Set project ``Master``: + - ``[Select members to invite]`` (``caubet_m``) + ``[Choose a role permission]`` (``Master``) + ``[Add to project]`` + - Set other roles: + - ``[Select members to invite]`` (``ozerov_d``) + ``[Choose a role permission]`` (``Developer``) + ``[Add to project]`` + - ``[data-[Settings]->[Integrations]``, or directly: https://git.psi.ch/linux-infra/data-(environment_name)/settings/integrations + - Add WebHook as follows: + - ``[URL]``: http://puppet00.psi.ch/events/dataupdate + - (Checked) ``[Push events]``. Uncheck the rest. + - ``[SSL verification]`` -> (uncheck) ``[Enable SSL verification]`` + - Confirm information from above, and click on ``[Add webhook]`` to add the new WebHook. + +Test new environment in GIT +~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In order to test that environment was successfully created:: + + git clone git@git.psi.ch:linux-infra/data-.git + +In example:: + + caubet_m@caubet-laptop:~/GIT$ git clone git@git.psi.ch:linux-infra/data-meg.git + Cloning into 'data-meg'... + X11 forwarding request failed + warning: You appear to have cloned an empty repository. + +Configuring the environment in Puppet +------------------------------------- + +Current *test* **Puppet** server is ``puppet00-test.psi.ch``. Current *production* **Puppet** server is ``puppet00.psi.ch``. This documentation will take as an example an environment +deployed in the *production* server ``puppet00.psi.ch``. + +You must have ``root`` access to the Puppet server in order to be able to configure it. + +Steps are: + +1. Login in to the Puppet server:: + + ssh root@puppet00.psi.ch + +2. Clone the already created **GIT** project to the ``/srv/puppet/data`` path, which contains all the different projects (Bob environments):: + + git clone git@git.psi.ch:linux-infra/data-.git /srv/puppet/data/ + + # In example: + git clone git@git.psi.ch:linux-infra/data-meg.git /srv/puppet/data/meg + +3. Change permissions to ``plidata.puppet`` for the new directory ``/srv/puppet/data/``:: + + chown -R plidata.puppet /srv/puppet/data/ + + # In example: + chown -R plidata.puppet /srv/puppet/data/meg + +At this point, everything should be configured and we can proceed to test that it works. + +Test new environment in Puppet +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +In order to test that environment was successfully created:: + + git clone git@git.psi.ch:linux-infra/data-.git + +Add a new file .yaml in to the project:: + + cd data- + touch .yaml + git add .yaml + git commit -a -m "Added first empty file" + git push + +After a few seconds (needs time to trigger the change), check in ``puppet00.psi.ch:/srv/puppet/data/`` that file was successfully triggered (copied) to the puppet server from **GIT**:: + + ssh root@puppet00.psi.ch ls /srv/puppet/data//.yaml + +Full real example:: + + git clone git@git.psi.ch:linux-infra/data-meg.git + cd data-meg + touch meg.yaml + git add meg.yaml + git commit -a -m "Added first empty file" + git push + sleep 5 + ssh root@puppet00.psi.ch ls /srv/puppet/data/meg/meg.yaml + diff --git a/admin-guide/guidelines.rst b/admin-guide/guidelines.rst new file mode 100644 index 00000000..9bc51418 --- /dev/null +++ b/admin-guide/guidelines.rst @@ -0,0 +1,70 @@ +Guidelines +========== + +.. toctree:: + :maxdepth: 1 + + guidelines/conventions + + +Version Control +--------------- + +Everything must be in version control before being used on production systems. +In particular, scripts and other software, SPEC files for packages, relevant +documentation, Puppet code, etc. + +Git Hooks +--------- + +`This repository `_ provides a pre-commit git hook that checks code compliance to different standards. + +Hiera Code +---------- + +The naming of the variables inside Hiera depends on the scope usage of the variables. + +The variables beeing used only inside one specific class +will be named ``base_class_name::variable`` where ``base_class_name`` is the last part of class name, without the part before the last ``::`` separator. +Eg. the ``permit_root_login`` variable for the ``profile::ssh_server`` class will be named ``ssh_server::permit_root_login``. + +When a variable is shared between a client and a server, we will prepend the variable name with the service name. +Eg. the ``grid_name`` parameter for ganglia service, used inside both client and server configuration, will be named ``ganglia::grid_name``. + +*Note:* this could potentially bring to conflicts, if we want to specify hiera values to be used both inside roles and profiles with the same name. +Do we want that? + + +Code Reviews +------------ + +All code must be reviewed by at least one other team member with write access to +the repository before pushing it. This will help keep the style consistent and +increase familiarity with the code base. + + +External Code +------------- + +Although the installation infrastructure makes large usage of external code the system +has to avoid as much as possible dependency from external services availability. +A WAN outage or a remote http server failure should not influence the installation system. +For this reason, all the external code is mirrored internally in specific git repositories. + +Servers and services +-------------------- + +Every server should support exactly one service, e.g. Puppet, or FTP. This makes +the services more independent (e.g. for downtimes), simplifies the structure of +the corresponding Puppet code, makes it easier to reason about the environment, +and prevents conflicts regarding certain configuration settings. + + +Development Workflow +-------------------- + +The general inspiration comes from `this post +`_. + +Regarding the puppet code this is more detailed description of our current +workflow: diff --git a/admin-guide/guidelines/conventions.rst b/admin-guide/guidelines/conventions.rst new file mode 100644 index 00000000..009ce1f4 --- /dev/null +++ b/admin-guide/guidelines/conventions.rst @@ -0,0 +1,52 @@ +Conventions +=========== + +Naming convention for servers +----------------------------- + +Server names have the form ``purpose[0-9][0-9]{,-test}.psi.ch``, where +``purpose`` is the purpose of the server or the service provided by it. Examples are: + +- ``puppet00.psi.ch`` is the **productive** puppetmaster +- ``repo00-test.psi.ch`` is the **test** Yum repository server + +When putting system names into configuration files, we always use lower case and +the fully qualified domain name. Good: ``puppet00.psi.ch``. Bad: ``puppet00`` or +``PUPPET00.PSI.CH``. + + +Names for programs +------------------ + +The general conventions regarding filenames apply (see `File system hierarchy +and filenames`_). In addition, scripts should not include a suffix indicating +the language they are written in. The latter is an implementation detail and +does not matter to the caller of the script/program. A good name could be +``pli-system-info``, a bad one would be ``pli-system-info.sh``. + + +File system hierarchy and filenames +----------------------------------- + +Files should generally be placed where the distribution and/or the `FHS +`_ expect them. Deviations and clarifications are +documented in this section. + +The base directory for files is ``/usr`` if the files are relevant to end-users, +``/opt/pli`` if the files are relevant only to Linux administrators. This avoids +polluting the PATH for end-users as well as naming conflicts. + +Executables (scripts or otherwise) that are meant for interactive use should go +into ``BASE/bin`` or ``BASE/sbin`` as appropriate. + +Executables which are primarily called by other executables to implement part of +their functionality should be place in ``BASE/libexec``. This avoids polluting +``$PATH``. + +Files and directories should have names starting with ``pli-`` or be placed in a +directory with such a name. This makes it obvious whether a file belongs to an +internal package and avoids collisions. + +Note: this section used to recommend ``psi-`` as the prefix. It turns out that +this prefix is being used in various other places already, hence we use +``pli-``, where PLI stands for PSI Linux Infrastructure. diff --git a/admin-guide/index.rst b/admin-guide/index.rst new file mode 100644 index 00000000..1b0eab61 --- /dev/null +++ b/admin-guide/index.rst @@ -0,0 +1,34 @@ +.. Linux Infrastructure documentation master file, created by + sphinx-quickstart on Mon Apr 11 13:24:16 2016. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to Linux Infrastructure's documentation! +================================================ + +Contents: + +.. toctree:: + :maxdepth: 2 + + architecture + guidelines + deployment + puppet + selinux + software + mgmt-tools + operations + third-party + troubleshooting + more + legacy + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + diff --git a/admin-guide/legacy.rst b/admin-guide/legacy.rst new file mode 100644 index 00000000..8f5a7c9c --- /dev/null +++ b/admin-guide/legacy.rst @@ -0,0 +1,20 @@ +================ + Legacy Systems +================ + +This section describes the PSI legacy Linux environment, ie. those systems +running Scientific Linux 6 and earlier. Unlike the rest of the admin guide, this +section is mostly a plain import of existing snippets of documentation, which +were created in a variety of formats. + +.. toctree:: + :maxdepth: 2 + + legacy/communication + legacy/installation + legacy/misc + legacy/monitoring + legacy/puppet + legacy/services + legacy/software + legacy/storage diff --git a/admin-guide/legacy/communication.rst b/admin-guide/legacy/communication.rst new file mode 100644 index 00000000..45d3218b --- /dev/null +++ b/admin-guide/legacy/communication.rst @@ -0,0 +1,48 @@ +Communication +============= + +There are several communication channels: + +1. Mailing lists: linux-announce and linux-discuss +2. Trouble tickets (via the helpdesk). +3. IT supporter meetings + + +Mailing lists +------------- + +There are three mailing lists: + +1. ``puppet-devel@lists.psi.ch`` + + This list is for technical discussions concerning Linux at PSI, in particular + the infrastructure, ie Puppet, iPXE, etc. + +2. ``linux-announce@lists.psi.ch`` + + This list is used for announcements of new updates, changes, events, etc. + Only admins can post (as configured on the mailing list server). + +3. ``linux-discuss@lists.psi.ch`` + + This list is meant for discussions related to the PSI Linux environment. Any + subscriber can post. + +Mails to ``linux-announce`` should follow a standard format. In particular, the +subject line should start with a tag describing the kind of announcement. +Already established tags are: + +- ``[Change]`` +- ``[Updates]`` + + +Trouble tickets +--------------- + +These are for incidents and requests. + + +Linux Support Meetings +---------------------- + +These happen roughly every two weeks. diff --git a/admin-guide/legacy/installation.rst b/admin-guide/legacy/installation.rst new file mode 100644 index 00000000..d097d67b --- /dev/null +++ b/admin-guide/legacy/installation.rst @@ -0,0 +1,65 @@ +Installation +============ + +This section describes the various installation methods, e.g. PXE. + +PXE Server +---------- + +The PXE server is ``pxeserv01.psi.ch``, running SL 5.1. + +Directory structure +~~~~~~~~~~~~~~~~~~~ + +The usual ``/tftpboot/pxelinux.cfg`` setup. The ``pxelinux.cfg`` +directory contains the following subdirectories: + +- ``Boot``: could be Windows-related +- ``centos``: CentOS 7.0, 7.1, and 7.2 +- ``dl``: diskless systems +- ``pxelinux.cfg``: PXELINUX configuration +- ``scientific``: Scientific Linux, 3.01 -> 7.0, partly obsolete +- ``tools``: + + +PXELINUX +-------- + +The PXELINUX configuration files are in ``pxeserv01:/tftpboot``. + +The ``default`` file currently contains 127 labels. + + +Scientific Linux 6, 64bit +~~~~~~~~~~~~~~~~~~~~~~~~~ + +One thing to note is that the +[Kickstart file](http://linux.web.psi.ch/kickstart/configs/sl64-64-desk-stable-ks.cfg) +is modified during installation by the +[``ks_pre.sh``](http://linux.web.psi.ch/dist/scientific/64/kickstart/bin/ks_pre.sh) +script. + + +Kickstart +--------- + +The documentation on Kickstart files is currently based on +``sl64-64-desk-stable-ks.cfg``, the default Kickstart file for SL6. + +In the ``%pre`` section a distribution-specific script ``ks_pre.sh`` +is downloaded and executed. Errors are not handled. The script +*modifies* the Kickstart file. The latter contains markers +``#BEGIN_MAIN`` and ``#END_MAIN`` to mark the region to be modified. + + +Custom keys +~~~~~~~~~~~ + +The Kickstart files defines variables ``INIT_KEYS`` and +``APPEND_KEYS`` and exports them for use by ``ks_pre.sh``. The latter +attempts to download an environment file and a script +``custom_pre.sh`` for each key and sources them. + +The custom key related files are stored below +``/afs/psi.ch/software/linux/dist/scientific/$OSVERSION/custom/``. +Examples for custom keys are ``DesktopTesting`` and ``DesktopStable``. diff --git a/admin-guide/legacy/misc.rst b/admin-guide/legacy/misc.rst new file mode 100644 index 00000000..9980ee83 --- /dev/null +++ b/admin-guide/legacy/misc.rst @@ -0,0 +1,37 @@ +Miscellaneous +============= + +This section contains (potentially out-of-date or obsolete) documents +from the wiki, various places on AFS, etc. Most of them should be +integrated in the other sections properly, the rest removed. + +.. toctree:: + :maxdepth: 1 + + misc/afstowindowsloginchangeinsl4andsl5 + misc/configureldaponpsipuppet3 + misc/createanewkickstartinstallationforfedora10 + misc/disklessclientsl60 + misc/dkmsbasics + misc/firefoxpreferenceshowto + misc/howtoeditinstallimg + misc/howto-start-vncserver + misc/kernelmodulee1000eupdateforsl5.1 + misc/linuxhowtolookupforpcidevicesandcorrespondingmodulesinsl5 + misc/linuxhowto-rpm-updatepsi-desktoppackageonsl5 + misc/linuxhowto-sl5-nvidiadriverinstallationupdate + misc/linuxloginclusters + misc/loadbalancerllclb1 + misc/nxserverclientinstallation + misc/prepareanewslrelease + misc/projectpsi-puppet1 + misc/psi-puppet2_installation + misc/puppetmanifestsforsl53 + misc/puppetmasteratpsi + misc/puppet-trouble-shooting-in-twiki + misc/release_snapshotssl53 + misc/repairrpmdb + misc/sap_client_for_linux_howto + misc/updatesl57 + misc/updateslmaindoc + misc/vpnclientlinux diff --git a/admin-guide/legacy/misc/afstowindowsloginchangeinsl4andsl5.rst b/admin-guide/legacy/misc/afstowindowsloginchangeinsl4andsl5.rst new file mode 100644 index 00000000..d09a3775 --- /dev/null +++ b/admin-guide/legacy/misc/afstowindowsloginchangeinsl4andsl5.rst @@ -0,0 +1,199 @@ +AFS to Windows-Login Change +=========================== + +References +---------- + +http://ait.web.psi.ch/services/linux/news/unified_login1.html + +Introduction +------------ + +In the night from August 2 to 3 2009 the AFS authentication service +will be changed to the Windows authentication service on Green SL4 and +SL5 PCs. + +This document describes the changes that have to be made in our +cfengine and puppet environments to facilitate the PSI wide automatic +reconfiguration of the Kerberos 5 authentication service on Green SL4 +and SL5 systems. + +This automatic reconfiguration requires cfengine running on SL4 and +puppet running on SL5 hosts respectively. + +Note: For technical reasons SL3 systems can not use the Windows +authentication service. + +Basically, the following two steps have to be performed: + +- Replace the current `krb5.conf` for the AFS authentication service by + the new `krb5.conf` for the Windows authentication service. + +- Distribute the `krenew.sh` script, which periodically renews an + existing renewable ticket. It starts running when the user logs in + to its graphical desktop. + + +For additional information see the reference. + +Files +----- + +`/etc/krb5.conf` for the Windows authentication server for SL4 and +SL5:: + + [libdefaults] + default_realm = D.PSI.CH + ticket_lifetime = 25h + dns_lookup_realm = false + dns_lookup_kdc = false + udp_preference_limit = 10 + renew_lifetime = 30d + forwardable = true + + [realms] + PSI.CH = { + kdc = afs00.psi.ch:88 afs01.psi.ch:88 afs02.psi.ch:88 + admin_server = afs00.psi.ch:749 + kpasswd_server = afs00.psi.ch:464 + default_domain = psi.ch + } + D.PSI.CH = { + kdc = d.psi.ch. + kpasswd_server = d.psi.ch. + default_domain = psi.ch + } + [domain_realm] + .psi.ch = D.PSI.CH + + +To automatically renew a Kerberos v5 ticket during an X session the +krenew command will be started when logging in to X. It is executed by +the script `krenew.sh`, which is placed into +`/etc/X11/xinit/xinitrc.d/`. + +`/etc/X11/xinit/xinitrc.d/krenew.sh` for SL4 and SL5:: + + #!/bin/bash + + /usr/bin/krenew -b -K 60 -t + + +Procedure +--------- + +SL4 +~~~ + +Replace `krb5.conf` File by Cfengine +.................................... + +The replacement of the `krb5.conf` is done by cfengine +on Green SL4 systems. + +The current `krb5.conf` source files:: + + /afs/psi.ch/service/linux/cfengine/masterfiles/distTesting/scientific/46/etc/krb5.conf + +and:: + + /afs/psi.ch/service/linux/cfengine/masterfiles/dist/scientific/46/etc/krb5.conf + +have to be replaced by the `krb5.conf` file for the Windows +authentication server. + + +Distribute `krenew.sh` By Cfengine +.................................. + +Copy `krenew.sh` to:: + + /afs/psi.ch/service/linux/cfengine/masterfiles/distTesting/scientific/46/etc/ + +and:: + + /afs/psi.ch/service/linux/cfengine/masterfiles/dist/scientific/46/etc/ + + +Configure cfengine to distribute them by adding the following entry to:: + + /afs/psi.ch/service/linux/cfengine/masterfiles/inputsTesting/scientific/46/cf.linux.AFS + +and:: + + /afs/psi.ch/service/linux/cfengine/masterfiles/inputs/scientific/46/cf.linux.AFS + + +The entry:: + + linux.scientific:: + $(MASTERDIR)/$(DISTDIR)/$(DIST)/$(RELEASE)/etc/krenew.sh + owner=root group=root + mode=0755 + dest=/etc/X11/xinit/xinitrc.d/krenew.sh + type=sum # makes a MD5 checksum + server=$(MASTERHOST) + backup=true + syslog=true + + +SL5 +--- + +Replace `krb5.conf` File by Puppet +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The replacement of the `krb5.conf` is done by puppet on Green SL5 +systems. + +The corresponding `krb5.conf` source file:: + + /afs/psi.ch/software/linux/dist/scientific/51/puppet/files/afs/etc/krb5.conf + +has to be replaced by the `krb5.conf` file for the Windows +authentication server. + +Distribute `krenew.sh` By Puppet +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Copy `krenew.sh` to the following puppet directory:: + + /afs/psi.ch/software/linux/dist/scientific/51/puppet/files/afs/etc/ + +Now edit the puppet manifest `psi_afs.pp` in both environments, +production development. Add `krenew.sh` to the file resource type as +shown below. + +`/afs/psi.ch/service/linux/puppet/etc/puppet/development/manifests/psi_defaults/psi_afs.pp`, + +`/afs/psi.ch/service/linux/puppet/etc/puppet/production/manifests/psi_defaults/psi_afs.pp`:: + + # psi_afs.pp + # + # Link to PSI pam files + # Default PAM configuration for PSI systems + # + + + class psi_afs { + + file { + "/etc/krb5.conf": + owner => "root", + group => "root", + source => [ + "puppet://$servername/$psi_release/afs/etc/krb5.conf.$hostname", + "puppet://$servername/$psi_release/afs/etc/krb5.conf" + ]; + + "/etc/X11/xinit/xinitrc.d/krenew.sh": + owner => "root", + group => "root", + mode => "755", + source => [ + "puppet:///$psi_release/afs/etc/krenew.sh.$hostname", + "puppet:///$psi_release/afs/etc/krenew.sh" + ]; + } + + } diff --git a/admin-guide/legacy/misc/configureldaponpsipuppet3.rst b/admin-guide/legacy/misc/configureldaponpsipuppet3.rst new file mode 100644 index 00000000..de945ec5 --- /dev/null +++ b/admin-guide/legacy/misc/configureldaponpsipuppet3.rst @@ -0,0 +1,110 @@ +Configure LDAP on `psi-puppet3` +=============================== + +References +---------- + +- https://intranet.psi.ch/AIT/LdapActiveDirectoryIntegrationPSI + +- http://linux.web.cern.ch/linux/docs/account-mgmt.shtml + + +Introduction +------------ + +This document describes the configuration of LDAP to access user account +information on an SL6 system. + +Requirements +------------ + +RPMS: + +- nss-pam-ldapd + +Procedure +--------- + +Configure `/etc/nsswitch.conf` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The `/etc/nsswitch.conf` configuration file describes the order in +which password-file lookups are performed. To make sure that local +accounts take precedence over LDAP accounts, it should have these +entries:: + + passwd: files ldap + shadow: files + group: files ldap + + +Configuring `/etc/nslcd.conf` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The `/etc/nslcd.conf` configuration file is used to set system-wide +defaults to be applied when running ldap clients. This mechanism is +available on SLP6. + +This section describes the options that are relevant to configure +account lookups in the d.psi.ch LDAP service. An example configure +file containing the options described below is shown here. Please edit +it to suit your needs - in particular the `filter passwd` entry!:: + + + # the ldaps uri enforces SSL + uri ldaps://d.psi.ch:636 + base ou=PSI,dc=d,dc=psi,dc=ch + binddn CN=linux_ldap,OU=Services,OU=IT,DC=d,DC=psi,DC=ch + bindpw *NOT SHOWN* + + # ldap base definitions for each nameservice + base passwd ou=Users,ou=PSI,dc=d,dc=psi,dc=ch + base group ou=Groups,ou=PSI,dc=d,dc=psi,dc=ch + + + filter passwd (&(objectClass=user)(!(objectClass=computer))(msSFU30UidNumber=*)(msSFU30HomeDirectory=*)) + map passwd uid cn + map passwd uidNumber msSFU30UidNumber + map passwd gidNumber msSFU30GidNumber + map passwd loginShell msSFU30LoginShell + map passwd gecos displayName + # do not resolve the unneeded userPassword + #map passwd userPassword msSFU30Password + + map passwd homeDirectory msSFU30HomeDirectory + # for our clusters' special environments we may want to use an expression + # #map passwd homeDirectory "/home/${sAMAccountName}" + + filter group (&(objectClass=Group)(msSFU30Name=*)) + map group uniqueMember member + map group gidNumber msSFU30GidNumber + + timelimit 30 + + # we may want to use this to reduce standing connections to the LDAP server + idle_timelimit 300 + + # require that server's certificate is tested. The standard installed CA bundle includes + # the necessary Root CA cert from QuoVadis + tls_reqcert hard + tls_cacertfile /etc/ssl/certs/ca-bundle.crt + + # request paged results from the LDAP server + pagesize 1000 + + referrals off + + +Please make sure that the `nss-pam-ldapd` RPM is installed on your +client machine. Run `yum install nss-pam-ldapd` if this RPM is not +installed. + +Then, make sure that the `nslcd` runs, and gets started at boot time:: + + /sbin/service nslcd restart + /sbin/chkconfig --level 345 nslcd on + + +Note: the `nslcd` service must be restarted after changes to the +`/etc/nslcd.conf` have been made! For more information, run `man +nslcd.conf` and/or `man nslcd`. diff --git a/admin-guide/legacy/misc/createanewkickstartinstallationforfedora10.rst b/admin-guide/legacy/misc/createanewkickstartinstallationforfedora10.rst new file mode 100644 index 00000000..2de385a5 --- /dev/null +++ b/admin-guide/legacy/misc/createanewkickstartinstallationforfedora10.rst @@ -0,0 +1,119 @@ +Create a new Kickstart Installation (for Fedora 10) +=================================================== + +This document describes the setup of a new kickstart installation at +PSI taking Fedora10 as an example. + + +Introduction +~~~~~~~~~~~~ + +Some NICs include the ability to boot using a Pre-Execution +Environment (PXE). It works by sending out a broadcast request for a +DHCP server on the network. If the DHCP server is configured to send +the client the IP address or hostname of a tftp server and the +location on that tftp server of the files needed to start the Linux +installation, the client can start a network installation without +having to boot from local media such as a CD. + +This method can also be used with kickstart to perform an automated +network installation. + +To perform a network installation using PXE boot, use the following +steps: + +- Create an installation tree for the network install and make it + available to the systems being installed. + +- Configure the tftp server. + +- Configure the DHCP server. + +- Boot the system to start the installation. + + +Procedure +~~~~~~~~~ + +Preparation of the PXE Boot Installation +........................................ + +Go to the `tftp` top directory:: + + # cd /afs/psi.ch/service/linux/tftpboot/ + # cd pxelinux.cfg/ + # cp -a default.testing{,-20081211} + +Now edit the file `default.testing`. Add a new entry for Fedora10. + + # vi default.testing + + # cd .. + # mkdir -p fedora/10 + # cd fedora/10 + # mkdir i386 x86_64 + # cd i386/ + # pwd + /afs/psi.ch/service/linux/tftpboot/fedora/10/i386/ + # wget ftp://sunsite.cnlab-switch.ch/mirror/fedora/linux/releases/10/Fedora/i386/os/isolinux/vmlinuz + # wget ftp://sunsite.cnlab-switch.ch/mirror/fedora/linux/releases/10/Fedora/i386/os/isolinux/initrd.img + + +After having performed a first test installation, the kickstart file +`testhost:/root/anaconda-ks.cfg` based on that installation was +written. This kickstart file was copied to +`/afs/psi.ch/software/linux/kickstart/configs/fedora10-ks.cfg`. Then +`fedora10-ks.cfg` was edited. + +`File: fedora10-ks.cfg Version 1` + +- Note: + + For testing the kickstart installations the root password is given, + see line starting with `rootpw`. In the final version it will be + removed:: + + + ################################## + # fedora10-ks.cfg 32-bit + ################################## + + install + url --url=ftp://sunsite.cnlab-switch.ch/mirror/fedora/linux/releases/10/Fedora/i386/os + lang en_US.UTF-8 + + network --device eth0 --bootproto dhcp + rootpw --iscrypted $6$dzHkd6Tb5OuEd92w$1mFgHdoRA9JnIeTz7lq8tvh8Gu1DJPWQyV7LyLGGTEE27ORgF6rYLPDc5nRZRMzoX8Zpasg5UFy4T7jOYyWa50 + authconfig --enableshadow --passalgo=sha512 + selinux --disabled + timezone --utc Europe/Zurich + bootloader --location=mbr + + ### PARTITION + # The following is the partition information you requested + # Note that any partitions you deleted are not expressed + # here so unless you clear all partitions first, this is + # not guaranteed to work + #part /boot --fstype ext3 --size=100 --asprimary + #part swap --size=500 --asprimary + #part / --fstype ext3 --size=200 --grow --asprimary + + %packages + @admin-tools + @base + @core + @editors + @hardware-support + @text-internet + + %end + + +Kickstart Pre Installation Scripts: + +- /afs/psi.ch/software/linux/dist/scientific/5/kickstart/pre +- /afs/psi.ch/software/linux/dist/scientific/5/kickstart/pre/set_partition +- /afs/psi.ch/software/linux/dist/scientific/5/kickstart/pre/pre_custom +- /afs/psi.ch/software/linux/dist/scientific/5/kickstart/pre/ask_ip +- /afs/psi.ch/software/linux/dist/scientific/5/kickstart/pre/pre_custom +- /afs/psi.ch/software/linux/dist/scientific/5/kickstart/pre/ask_ipaddr diff --git a/admin-guide/legacy/misc/disklessclientsl60.rst b/admin-guide/legacy/misc/disklessclientsl60.rst new file mode 100644 index 00000000..e8d36572 --- /dev/null +++ b/admin-guide/legacy/misc/disklessclientsl60.rst @@ -0,0 +1,54 @@ +Diskless Client SL60 +==================== + +Procedure +--------- + +Select the kernel that diskless clients should use +(vmlinuz-kernel-version) and copy it to the tftp boot directory:: + + # cp /boot/vmlinuz-2.6.32-220.4.1.el6.i686 /afs/psi.ch/service/linux/tftpboot/dl/sl60/i386/ + + +Create the initrd (i.e. initramfs-kernel-version.img) with network support:: + + # yum install dracut-network + # dracut initramfs-dl-2.6.32-220.4.1.el6.i686.img 2.6.32-220.4.1.el6.i686 + + +Copy the resulting initramfs-kernel-version.img into the tftp boot directory as well:: + + # cp /tmp/initramfs-dl-2.6.32-220.4.1.el6.i686.img /afs/psi.ch/service/linux/tftpboot/dl/sl60/i386/ + +Edit the default boot configuration to use the initrd and kernel +inside `/var/lib/tftpboot`. This configuration should instruct the +diskless client's root to mount the exported file system +(`/exported/root/directory`) as read-write. To do this, configure +`/var/lib/tftpboot/pxelinux.cfg/default` with the following:: + + label sl6dl + kernel dl/sl60/i386/vmlinuz-2.6.32-220.4.1.el6.i686 + append initrd=dl/sl60/i386/initramfs-dl-2.6.32-220.4.1.el6.i686.img root=nfs4:129.129.190.91:/dl/sl60/i386/base rw + + +Replace server-ip with the IP address of the host machine on which the +tftp and DHCP services reside. The NFS share is now ready for +exporting to diskless clients. These clients can boot over the network +via PXE. + +From the manual:: + + 22.3. Configuring an Exported File System for Diskless Clients + The root directory of the exported file system (used by diskless clients in the network) is shared via NFS. Configure the NFS service to export the root directory by adding it to /etc/exports. For instructions on how to do so, refer to Section 12.7.1, “ The /etc/exports Configuration File”. + To accommodate completely diskless clients, the root directory should contain a complete Red Hat Enterprise Linux installation. You can synchronize this with a running system via rsync, as in: + # rsync -a -e ssh --exclude='/proc/*' --exclude='/sys/*' hostname.com:/ /exported/root/directory + Replace hostname.com with the hostname of the running system with which to synchronize via rsync. The /exported/root/directory is the path to the exported file system. + Alternatively, you can also use yum with the --installroot option to install Red Hat Enterprise Linux to a specific location. For example: + yum groupinstall Base --installroot=/exported/root/directory + The file system to be exported still needs to be configured further before it can be used by diskless clients. To do this, perform the following procedure: + Procedure 22.2. Configure file system + Configure the exported file system's /etc/fstab to contain (at least) the following configuration: + none /tmp tmpfs defaults 0 0 + tmpfs /dev/shm tmpfs defaults 0 0 + sysfs /sys sysfs defaults 0 0 + proc /proc proc defaults 0 0 diff --git a/admin-guide/legacy/misc/dkmsbasics.rst b/admin-guide/legacy/misc/dkmsbasics.rst new file mode 100644 index 00000000..491a9730 --- /dev/null +++ b/admin-guide/legacy/misc/dkmsbasics.rst @@ -0,0 +1,396 @@ +Dynamic Kernel Module Support (DKMS) Basics +=========================================== + +References +---------- + +G. Lerhaupt, Linuxjournal (www.linuxjournal.com/), September 1st, 2003. + + +Introduction To DKMS +-------------------- + +Source is a wonderful thing. Merged module source in the kernel tree +is even better. Most of all, support for that source is what really +counts. In today's explosion of Linux in the enterprise, the ability +to pick up the phone and find help is critical. More than ever, +corporations are driving Linux development and requirements. Often, +this meets with skepticism and a bit of anxiety by the community, but +if done correctly, the benefits are seen and felt by everyone. + +The dynamic kernel module support (DKMS) framework should be viewed as +a prime example of this. DKMS, a system designed to help Dell Computer +Corporation distribute fixes to its customers in a controlled fashion, +also speeds driver development, testing and validation for the entire +community. + +The DKMS framework is basically a duplicate tree outside of the kernel +tree that holds module source and compiled module binaries. This +duplication allows for a decoupling of modules from the kernel, which, +for Linux solution and deployment providers, is a powerful tool. The +power comes from permitting driver drops onto existing kernels in an +orderly and supportable manner. In turn, this frees both providers and +their customers from being bound by kernel drops to fix their issues. +Instead, when a driver fix has been released, DKMS serves as a stopgap +to distribute the fix until the code can be merged back into the +kernel. + +Staying with the customer angle for a bit longer, DKMS offers other +advantages. The business of compiling from source, installing or +fidgeting with rebuildable source RPMs has never been for the +faint-of-heart. The reality is that more Linux users are coming in +with less experience, necessitating simpler solutions. DKMS bridges +these issues by creating one executable that can be called to build, +install or uninstall modules. Further, using its match feature, +configuring modules on new kernels could not be easier, as the modules +to install can be based solely on the configuration of some kernel +previously running. In production environments, this is an immense +step forward as IT managers no longer have to choose between some +predefined solution stack or the security enhancements of a newer +kernel. + +DKMS also has much to offer developers and veteran Linux users. The +aforementioned idea of the decoupling of modules from the kernel +through duplication (not complete separation) creates a viable test +bed for driver development. Rather than having to push fixes into +successive kernels, these fixes can be distributed and tested on the +spot and on a large scale. This speedup in testing translates to an +overall improvement in the speed of general development. By removing +kernel releases as a blocking mechanism to widespread module code +distribution, the result is better tested code that later can be +pushed back into the kernel at a more rapid pace—a win for both +developers and users. + +DKMS also makes developers' lives easier by simplifying the delivery +process associated with kernel-dependent software. In the past, for +example, Dell's main method for delivering modules was RPMs containing +kernel-specific precompiled modules. As kernel errata emerged, we +often were taken through the monotonous and unending process of +recompiling binaries for these new kernels—a situation that no +developer wants to be in. However, Dell still favored this delivery +mechanism because it minimized the amount of work and/or knowledge +customers needed to have to install modules. With DKMS, we can meet +these usability requirements and significantly decrease our workload +from the development standpoint. DKMS requires module source code to +be located only on the user's system. The DKMS executable takes care +of building and installing the module for any kernel users may have on +their systems, eliminating the kernel catch-up game. + + +Using DKMS +---------- + +With all of this up-front hype about DKMS, perhaps it might be best to +settle into the particulars of actually how the software is used. + +- Using DKMS for a module requires that the module source be located + on the user's system and that it be located in the directory + `/usr/src/(module))-((module-version))/`. + +- A `dkms.conf` file must exist with the appropriately formatted + directives within this configuration file to tell DKMS such things + as where to install the module and how to build it. + +More information on the format of the `dkms.conf` file can be found +later in this article. Once these two requirements have been met and +DKMS has been installed on the system, the user can begin using DKMS +by adding a `module/module-version` to the DKMS tree. The example add +command:: + + # dkms add -m qla2x00 -v v6.04.00 + +would add `qla2x00/v6.04.00` to the extant `/var/dkms` tree. This +command includes creating the directory `/var/dkms/qla2x00/v6.04.00/`, +creating a symlink from `/var/dkms/qla2x00/v6.04.00/source` to +`/usr/src/qla2x00-v6.04.00/` and copying the `dkms.conf` file from its +original location to `/var/dkms/qla2x00/v6.04.00/dkms.conf`. + +Once this add is complete, the module is ready to be built. The `dkms +build` command requires that the proper kernel sources are located on +the system from the `/lib/module/kernel-version/build` symlink. The +make command used to compile the module is specified in the +`dkms.conf` configuration file. Continuing with the `qla2x00/v6.04.00` +example:: + + # dkms build -m qla2x00 -v v6.04.00 -k 2.4.20-8smp + +compiles the module but stops short of installing it. Although build +expects a kernel-version parameter, if this kernel name is left out, +it assumes the currently running kernel. However, building modules +for kernels not currently running also is a viable option. This +functionality is assured through the use of a kernel preparation +subroutine that runs before any module build is performed. This +paranoid kernel preparation involves running a make mrproper, copying +the proper kernel .config file to the kernel source directory, running +a make oldconfig and, finally, running a make dep. These steps ensure +that the module being built is built against the proper kernel +symbols. By default, DKMS looks for the kernel `.config` file in the +`/lib/modules/kernel-version/build/configs/` directory, utilizing Red +Hat's naming structure for those config files. If the kernel `.config` +file is not located in this directory, you must specify a `--config` +option with your build command and tell DKMS where the `.config` file +can be found. + +Successful completion of a build creates, for this example, the +`/var/dkms/qla2x00/v6.04.00/2.4.20-8smp/` directory as well as the log +and module subdirectories within this directory. The log directory +holds a log file of the module make, and the module directory holds +copies of the compiled `.o` binaries. + +With the completion of a build, the module now can be installed on the +kernel for which it was built. Installation copies the compiled module +binary to the correct location in the `/lib/modules/` tree, as +specified in the dkms.conf file. If a module by that name is already +found in that location, DKMS saves it in its tree as an original +module, so it can be put back into place at a later time if the newer +module is uninstalled. The example install command:: + + # dkms install -m qla2x00 -v v6.04.00 -k 2.4.20-8smp + +creates the following symlink:: + + /var/dkms/qla2x00/v6.04.00/kernel-2.4.20-8smp → /var/dkms/qla2x00/v6.04.00/2.4.20-8smp + +This symlink is how DKMS keeps tabs on which driver version is +installed on which kernel. As stated earlier, if a module by the same +name is installed already, DKMS saves a copy in its tree in the +`/var/dkms/module-name/original_module/` directory. In this case, it +would be saved to `/var/dkms/qla2x00/original_module/2.4.20-8smp/`. + +To complete the DKMS cycle, you also can uninstall or remove your +module from the tree. Uninstall removes the module you installed and, +if applicable, replaces it with its original module. In scenarios +where multiple versions of a module are located within the DKMS tree, +when one version is uninstalled, DKMS does not try to understand or +assume which of these other versions should be put in its +place. Instead, if a true original_module was saved from the original +DKMS installation, it is put back into the kernel. All of the other +module versions for that module are left in the built state. An +example uninstall would be:: + + # dkms uninstall -m qla2x00 -v v6.04.00 -k 2.4.20-8smp + +If the kernel version parameter is unset, the currently running kernel +is assumed, but the same behavior does not occur with the remove +command. Remove and uninstall are similar in that a remove command +completes all of the same steps as does an uninstall. However, if the +module-version being removed is the last instance of that +module-version for all kernels on your system, after the uninstall +portion of the remove completes, remove physically removes all traces +of that module from the DKMS tree. In other words, when an uninstall +command completes, your modules are left in the **built** +state. However, when a remove completes, you have to start over from +the add command before you can use this module again with DKMS. Here +are two sample remove commands:: + + # dkms remove -m qla2x00 -v v6.04.00 -k 2.4.20-8smp + + # dkms remove -m qla2x00 -v v6.04.00 --all + +With the first remove command, the module would be uninstalled. If +this `module/module-version` were not installed on any other kernel, +all traces of it would be removed from the DKMS tree. If, say, +`qla2x00/v6.04.00` also was installed on the `2.4.20-8bigmem` kernel, +the first remove command would leave it alone—it would remain intact +in the DKMS tree. That would not be the case in the second example. It +would uninstall all versions of the `qla2x00/v6.04.00` module from all +kernels and then completely expunge all references of +`qla2x00/v6.04.00` from the DKMS tree. Thus, remove is what cleans +your DKMS tree. + + +Miscellaneous DKMS Commands +--------------------------- + +DKMS also comes with a fully functional status command that returns +information about what is currently located in your tree. If no +parameters are set, it returns all information found. Logically, the +specificity of information returned depends on which parameters are +passed to your status command. Each status entry returned is of the +state added, built or installed. If an original module has been saved, +this information also is displayed. Some example status commands +include:: + + # dkms status + + # dkms status -m qla2x00 + + # dkms status -m qla2x00 -v v6.04.00 + + # dkms status -k 2.4.20-8smp + + # dkms status -m qla2x00 -v v6.04.00 -k 2.4.20-8smp + + +Another major feature of DKMS is the match command. The match command +takes the configuration of DKMS-installed modules for one kernel and +applies it to some other kernel. When the match completes, the same +`module/module-versions` installed for one kernel are then installed +on the other kernel. This is helpful when you are upgrading from one +kernel to the next but want to keep the same DKMS modules in place for +the new kernel. In the example:: + + # dkms match --templatekernel 2.4.20-8smp -k 2.4.20-9smp + +`--templatekernel` is the match-er kernel from which the configuration +is based. The `-k` kernel is the match-ee upon which the +configuration is instated. + +For systems management purposes, the commands mktarball and ldtarball +also have been added to DKMS. These commands allow the user to make +and load tarball archives, respectively, into the DKMS tree to +facilitate using DKMS in deployments where many similar systems +exist. This allows the system administrator to build modules on only +one system. Rather than build the same module on every other system, +the built binary can be applied directly to the other systems' DKMS +tree. Specifically, mktarball creates a tarball of the source for a +given `module/module-version`. It then archives the DKMS tree of every +kernel version that has a module built for that +`module/module-version`. Consider the example:: + + # dkms mktarball -m qla2x00 -v v6.04.00 -k 2.4.20-8smp,2.4.20-8 + +Depending on the `-k` kernel parameter, `mktarball` archives only +certain binaries compiled for those kernels specified. If no kernel +parameter is given, it archives all built module binaries for that +`module/module-version`. + +With `ldtarball`, DKMS simply parses the archive created with +mktarball and applies whatever is found to that system's DKMS +tree. This leaves all modules in the built state; the `dkms install` +command then can be used to place the module binaries into the +`/lib/modules` tree. Under normal operation, ldtarball does not +overwrite any files that already exist in the system's DKMS +tree. However, the archive can be forced over what is in the tree with +the `--force` option. An example `ldtarball`:: + + # dkms ldtarball --config qla2x00-v6.04.00-kernel2.4.20-8smp.tar.gz + +The last miscellaneous DKMS command is `mkdriverdisk`. As can be +inferred from its name, `mkdriverdisk` takes the proper sources in +your DKMS tree and creates a driver disk image that can provide +updated drivers to Linux distribution installations. A sample +`mkdriverdisk` might look like:: + + # dkms mkdriverdisk -d redhat -m qla2x00 -v v6.04.00 -k 2.4.20-8BOOT + +Currently, the only supported distribution driver disk format is Red +Hat, but this easily could expand with some help from the community in +understanding driver disk requirements and formats on a +per-distribution basis. For more information on the extra necessary +files and their formats for DKMS to create Red Hat driver disks, see +`people.redhat.com/dledford`. These files should be placed in your +module source directory. + +The dkms.conf Configuration File Format +--------------------------------------- + +For maintainers of DKMS packages, the `dkms.conf` configuration file +is the only auxiliary piece necessary to make your source tarball +DKMS-ready. The format of the conf file is a successive list of shell +variables sourced by DKMS when working with your package. For +example, an excerpt from the `qla2x00/v6.04.00 dkms.conf` file:: + + MAKE="make all INCLUDEDIR=/lib/modules/$kernelver/build/include" + MAKE_smp="make SMP=1 all INCLUDEDIR=/lib/modules/$kernelver/build/include" + LOCATION="/kernel/drivers/addon/qla2200" + REMAKE_INITRD="yes" + MODULE_NAME="qla2200.o:qla2200_6x.o qla2300.o:qla2300_6x.o" + CLEAN="make clean" + MODULES_CONF_ALIAS_TYPE="scsi_hostadapter" + MODULES_CONF0="options scsi_mod scsi_allow_ghost_devices=1" + +shows that each of the shell variable directives should be coded in +all capital letters. One of the current exceptions to this rule is the +`MAKE_` directive. DKMS uses the generic `MAKE=` command to build your +module. But, if a `MAKE_kernel-regexp-text` command exists and the +text after the `MAKE_ matches` (as a substring) the kernel for which +it is being built, then this alternate make command is used. In the +above example, you can see how DKMS would use the `MAKE_smp` directive +on any smp kernel for which it was building this module. Similar +`PATCH_` commands also exist. When the text after the underscore +matches the kernel for which a module is being built, that patch first +is applied to the module source. This allows developers to distribute +one source tarball, with one `dkms.conf` and multiple patches. Yet, +different patches can be applied as necessary to the source to ensure +all modules function correctly on all kernels. + +Also notice that dkms.conf accepts the `$kernelver` variable, which, +at build time, is replaced with the kernel version for which the +module is being built. This is especially important so the correct +include directories are referenced when compiling a module for a +kernel that is not currently running. + +Using DKMS in Conjunction with RPM +---------------------------------- + +DKMS and RPM actually work quite well together. The only twist is that +to make it function properly, you have to create an RPM that installs +source. Although normal practice is to install source only with source +RPMs, a source RPM does not necessarily work with DKMS; it will not +let you do much besides install the source. Instead, your source +tarball needs to be included with your RPM, so your source can be +placed in `/usr/src/module-module-version/` and the proper DMKS +commands can be called. The `%post` and `%preun` basically are DKMS +commands. + +Here is a sample `.spec` file:: + + %define module qla2x00 + + Summary: Qlogic HBA module + Name: %module_dkms + Version: v6.04.00 + Release: 1 + Vendor: Qlogic Corporation + Copyright: GPL + Packager: Gary Lerhaupt + Group: System Environment/Base + BuildArch: noarch + Requires: dkms gcc bash sed + Source0: qla2x00src-%version.tgz + Source1: dkms.conf + BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root/ + + %description + This package contains Qlogic's qla2x00 HBA module meant + for the DKMS framework. + + %prep + rm -rf qla2x00src-%version + mkdir qla2x00src-%version + cd qla2x00src-%version + tar xvzf $RPM_SOURCE_DIR/qla2x00src-%version.tgz + + %install + if [ "$RPM_BUILD_ROOT" != "/" ]; then + + rm -rf $RPM_BUILD_ROOT + fi + mkdir -p $RPM_BUILD_ROOT/usr/src/%module-%version/ + install -m 644 $RPM_SOURCE_DIR/dkms.conf + $RPM_BUILD_ROOT/usr/src/%module-%version + install -m 644 qla2x00src-%version/* + $RPM_BUILD_ROOT/usr/src/%module-%version + + %clean + if [ "$RPM_BUILD_ROOT" != "/" ]; then + + rm -rf $RPM_BUILD_ROOT + fi + + %files + %defattr(0644,root,root) + %attr(0755,root,root) /usr/src/%module-%version/ + + %pre + + %post + /sbin/dkms add -m %module -v %version + /sbin/dkms build -m %module -v %version + /sbin/dkms install -m %module -v %version + exit 0 + + %preun + /sbin/dkms remove -m %module -v %version --all + exit 0 diff --git a/admin-guide/legacy/misc/firefoxpreferenceshowto.rst b/admin-guide/legacy/misc/firefoxpreferenceshowto.rst new file mode 100644 index 00000000..fbb4f84f --- /dev/null +++ b/admin-guide/legacy/misc/firefoxpreferenceshowto.rst @@ -0,0 +1,4 @@ +Firefox Preferences +=================== + +`/usr/lib64/firefox/browser/defaults/preferences/all-psi.js` diff --git a/admin-guide/legacy/misc/howto-start-vncserver.rst b/admin-guide/legacy/misc/howto-start-vncserver.rst new file mode 100644 index 00000000..04283d6c --- /dev/null +++ b/admin-guide/legacy/misc/howto-start-vncserver.rst @@ -0,0 +1,18 @@ +How To Start Vncserver +====================== + +Login to the remote host:: + + # ssh root@ + # ls -l /tmp/krb* + +Login as you want to get the Desktop from:: + + # su - + # export KRB5CCNAME=/tmp/krb5cc_3651_bxD3lb + # aklog + # x0vncserver -SecurityTypes=None -display=:0.0 + +Start vnc client on local host:: + + # vncviewer diff --git a/admin-guide/legacy/misc/howtoeditinstallimg.rst b/admin-guide/legacy/misc/howtoeditinstallimg.rst new file mode 100644 index 00000000..fe82f43e --- /dev/null +++ b/admin-guide/legacy/misc/howtoeditinstallimg.rst @@ -0,0 +1,20 @@ +How to edit `install.img` +========================= + +Introduction +------------ + +This HowTo describes how to extract, edit and rebuild the install.img +file of an SL6 release. This file is found in the distribution +toplevel `$basearch` directory e.g. in +`/afs/psi.ch/software/linux/dist/scientific/62/x86_64/images/` at our +site. It is loaded during the installation and brings up the +installation process. + +The reason to edit the `install.img` in this example is the file +`/etc/anaconda.repos.d/sl.repo`, which references the original SL repos, +i.e. the anaconda installer will try to get RPMS from these external +repos during the installation even if we declare our local repos in +the kickstart config file. We want now that anaconda takes RPMS from +our local copies of the SL repos, because first the installation is +faster, second we do not depend on down times of the SL site. diff --git a/admin-guide/legacy/misc/kernelmodulee1000eupdateforsl5.1.rst b/admin-guide/legacy/misc/kernelmodulee1000eupdateforsl5.1.rst new file mode 100644 index 00000000..27b3d0ec --- /dev/null +++ b/admin-guide/legacy/misc/kernelmodulee1000eupdateforsl5.1.rst @@ -0,0 +1,864 @@ +Kernel Module E1000E Update For SL5.1 +===================================== + +This document is almost certainly obsolete, hence I just include the +unformatted POD source of the original:: + + =head2 References + + =over 4 + + =item * + + http://support.intel.com/support/ + + =back + + =head2 Introduction + + The Intel Gigabit ethernet card F<82567LM>, which comes with the + new Fujitsu Siemens computers F, F, + F and F, contemporary does not work + out of the box in SL51 (and for sure others) because the updated version + of the e1000e driver is not available yet in Scientific Linux. + + As a consequence of this the network installation is not working for this + kind of hardware, because + the SL5.1 installation kernel, too, is not coming with the proper driver. + + This documents describes a quick workaround, Solution 1, and a more profound + procedure, Solution 2, to solve this issue. A third alternative, Solution 3, + is shortly mentioned, but could not be finalized. + + =head3 Solution 1 + + For the network installation + via PXE boot a second SL5 compatible network card has to be plugged in. When the + installation has finished, an updated version of the + e1000e driver, that supports the mentioned hardware can be downloaded + from the Intel website (see References) and installed on the system. + + =head3 Solution 2 + + Use the SL5.3 kernel, the e1000e driver of which does support the F<82567LM> hardware, + to install the SL5.1. + + First, the PXE boot environment has to be setup with the SL5.3 kernel and the related + initial ramdisk. + + Second, the F<.buildstamp> in the initial ramdisk of SL5.3 has to be replaced by the + F<.buildstamp> of SL5.1. This facilitates the SL5.3 installer to use the SL5.1 installation + tree. Therefore the ramdisk has to be unpacked, modified and + repacked (it is a gzipped cpio archive). + + Third, build a kernel module e1000e RPM for SL5.1 which will be installed during the SL5.1 + installation by means of a custom key F. + + Fourth, setup the F custom key. + + =head3 Solution 3 + + Note: This was tried but does not work yet. + + For the network installation compile the new e1000e driver for the installation kernel and put it into + the corresponding initial ramdisk. + + For the running system build the e1000e RPMS for the current kernel/architecture combinations + and install the RPMS during the kickstart process. + + When the kernel is updated the corresponding e1000e RPMS have to be rebuilt and put into + the update repository. + + =head2 Procedure for Solution 1 + + Get the tarball, extract it and build the driver following + the instructions in the README of the tarball. + + Get the tarball and extract it. + + # [root@pc7637] + # uname -a + Linux pc7637 2.6.18-92.1.22.el5PAE #1 SMP Tue Dec 16 07:10:07 EST 2008 i686 i686 i386 GNU/Linux + # cd /tmp/ + # wget http://downloadmirror.intel.com/17069/eng/e1000e-0.4.1.7.tar.gz + # tar xfz e1000e-0.4.1.7.tar.gz + + Install the corresponding kernel source RPM. + + # rpm -ivh /afs/psi.ch/software/mirror/scientific/5x/SRPMS/vendor/kernel-2.6.18-92.1.22.el5.src.rpm + + Build the RPM for the running kernel. + + # rpmbuild -tb e1000e-0.4.1.7.tar.gz + ... + Wrote: /usr/src/redhat/RPMS/i386/e1000e-0.4.1.7-1.i386.rpm + ... + + Install the driver RPM. + + # rpm -ivh /usr/src/redhat/RPMS/i386/e1000e-0.4.1.7-1.i386.rpm + + Becaus this is a newly installed host, disable older kernels in grub, + because the kernel module e1000e is only valid for the running kernel. + However the older kernels should be removed later, if there are no needs to run + them. + + # vi /boot/grub/grub.conf + + The resulting RPM e1000e-0.4.1.7-1.i386.rpm was built on a FS Celsius W370 + after Network installation via an old plugged in 3COM network card + as 2nd network device. After installation of this RPM the 3COM + card was removed and the on board Intel Gigabit network card + was running with the new e1000e kernel module. + + =over 4 + + =item Note: + + This RPM contains only the module for an SL51 PAE kernel. + + /lib/modules/2.6.18-92.1.22.el5PAE/kernel/drivers/net/e1000e/e1000e.ko.new + + =back + + =for comment + ##################################################################################3 + + =head2 Procedure for Solution 2 + + =head3 Setup the PXE Boot Environment for the New Kickstart Installation + + Add the following labels to + F. + At the time of writing they are used for testing, their names will probably + be changed later on. + + Note: You can take the same kickstart configuration files as for the default + SL51 installation, under the labels sl5 and sl564. + + label sl53t32 + kernel scientific/53for51install/i386/vmlinuz + append initrd=scientific/53for51install/i386/initrd.img ksdevice=eth0 \ + ks=nfs:129.129.190.59:/master/linux/kickstart/configs/sl51-a-ks.cfg noipv6 + + label sl53t64 + kernel scientific/53for51install/x86_64/vmlinuz + append initrd=scientific/53for51install/x86_64/initrd.img ksdevice=eth0 \ + ks=nfs:129.129.190.59:/master/linux/kickstart/configs/sl51-64-a-ks.cfg noipv6 + + Copy the installation kernel and the initial ramdisk to the tftpboot + location given in the respective labels above. + + # cd /afs/psi.ch/service/linux/tftpboot/scientific/ + # mkdir -p 53for51install/i386 53for51install/x86_64 + + # cd 53for51install/i386/ + # wget http://ftp.scientificlinux.org/linux/scientific/5rolling/i386/images/pxeboot/vmlinuz + # wget http://ftp.scientificlinux.org/linux/scientific/5rolling/i386/images/pxeboot/initrd.img + + # cd ../x86_64/ + # wget http://ftp.scientificlinux.org/linux/scientific/5rolling/x86_64/images/pxeboot/vmlinuz + # wget http://ftp.scientificlinux.org/linux/scientific/5rolling/x86_64/images/pxeboot/initrd.img + + Before proceeding with the next section test whether the basic setup is working. + Therefore boot F and F on a test machine. + + This should setup the network connections, start the kickstart + till to the point when it runs the pre installation scripts. + + =head3 Modify the Initial Ramdisk, Example for x86_64 + + Unpack the initial ramdisk image of SL5.3. + + # cd /afs/psi.ch/service/linux/tftpboot/scientific/53for51install/x86_64/ + # mkdir tmp + # cd tmp + # zcat ../initrd.img | cpio -ivd + + The content of the F<.buildstamp> will be something alike. + + # cat .buildstamp + 200902111740.x86_64 + Scientific Linux + 53 + SL + your distribution provided bug reporting tool. + + Now replace this F<.buildstamp> file with the one + of the SL5.1 installation tree. Therefore you also have to + unpack the ramdisk. + + # cd /afs/psi.ch/software/linux/dist/scientific/51/x86_64/images/pxeboot/ + # mkdir tmp + # cd tmp + # zcat ../initrd.img | cpio -ivd + + Here we have the following F<.buildstamp>. + + # cat .buildstamp + 200801141434.x86_64 + Scientific Linux + 51 + SL + your distribution provided bug reporting tool. + + # cp -i .buildstamp \ + # /afs/psi.ch/service/linux/tftpboot/scientific/53for51install/x86_64/tmp/ + + Clean up. + + # cd .. + # rm -rf tmp + + Repack the initial ramdisk of SL5.3 x86_64. + For this part the commands were taken from F of + the SL5.1 RPM F and put into a script, + because repacking the ramdisk without the same command options + as from the F script fails. + + =opentwisty + + # # Function from /sbin/mkinitrd + # findall() { + # echo nash-find "$@" | /sbin/nash --force --quiet + # } + # + # # Architecture + # ARCH="x86_64" + # + # # Set file locations: + # # The temporary directory in the tftpboot directory + # # where the initial ramdisk is extracted to. + # MNTIMAGE="/afs/psi.ch/service/linux/tftpboot/scientific/53for51install/$ARCH/tmp" + # + # # The name of the new ramdisk, not to overwrite the original one + # target="initrd.img_new" + # + # # Start processing + # if test ! -d $MNTIMAGE + # then + # echo "Error: $MNTIMAGE does not exist." + # exit + # fi + # + # if test -e ${MNTIMAGE}/../initrd.img_new.cpio + # then + # echo -n "${MNTIMAGE}/../initrd.img_new.cpio exists. Shall I remove it (y/N)?" + # read a + # if test "$a" = "y" + # then + # rm -f ${MNTIMAGE}/../initrd.img_new.cpio + # fi + # fi + # + # # Create the empty ramdisk file (from /sbin/mkinitrd) + # IMAGE=`mktemp ${MNTIMAGE}/../initrd.img_new.cpio` + # + # # Fill it as cpio archive (from /sbin/mkinitrd) + # (cd $MNTIMAGE; findall . | cpio --quiet -c -o) >| $IMAGE || exit 1 + # + # # Compress the cpio archive (from /sbin/mkinitrd) + # gzip -9 < $IMAGE >| ${MNTIMAGE}/../$target + # + # echo "Check the new initial ramdisk at" + # echo "/afs/psi.ch/service/linux/tftpboot/scientific/53for51install/$ARCH/" + # echo + + =closetwisty + + Go to the tftpboot direcory and setup the new initial ramdisk. + Make also a backup of the original one. + + # cd /afs/psi.ch/service/linux/tftpboot/scientific/53for51install/x86_64/ + # mv initrd.img initrd.img_orig + # ln -s initrd.img_new initrd.img + + Now test the PXE boot kickstart installation using the + label F. + + If everything looks fine clean up and go to the next section + or repeat this part for the i386 architecture. + + # rm -rf tmp/ initrd.img_new.cpio + + =head3 Build the e1000e Kernel Module RPM, Example for x86_64 + + Go to the build system tux50-64 and download the e1000e sources + and get the spec file. + + # [gasser_m@tux50-64] + # cd /scratch/gasser_m/rpm_topdir/SOURCES/ + # wget http://downloadmirror.intel.com/17069/eng/e1000e-0.4.1.7.tar.gz + # tar xfz e1000e-0.4.1.7.tar.gz + # cp e1000e-0.4.1.7/e1000e.spec ../SPECS/ + # rm -rf e1000e-0.4.1.7 + # cd ../SPECS/ + # cp e1000e e1000e_orig + + Note, you can build the RPM directly from this tarball, but here we want to + change the name of the built RPM to apply our PSI naming convention for kernel + modules, thus we need to edit the spec file before building. + + # vi e1000e.spec + + =opentwisty + + #### begin e1000e.spec + + %define driver_name e1000e + %define kernel 2.6.18-92.1.22.el5 + + %define pkg_name kernel-module-%{driver_name}-%{kernel} + + Name: %{pkg_name} + Summary: Intel(R) Gigabit Ethernet Connection + Version: 0.4.1.7 + Release: 1 + Source: %{driver_name}-%{version}.tar.gz + Vendor: Intel Corporation + Packager: Marc Gasser + License: GPL + ExclusiveOS: linux + Group: System Environment/Kernel + Provides: %{driver_name} + URL: http://support.intel.com/support/go/linux/e1000e.htm + BuildRoot: %{_tmppath}/%{driver_name}-%{version}-root + # do not generate debugging packages by default - newer versions of rpmbuild + # may instead need: + #%define debug_package %{nil} + %debug_package %{nil} + # macros for finding system files to update at install time (pci.ids, pcitable) + %define find() %(for f in %*; do if [ -e $f ]; then echo $f; break; fi; done) + %define _pciids /usr/share/pci.ids /usr/share/hwdata/pci.ids + %define _pcitable /usr/share/kudzu/pcitable /usr/share/hwdata/pcitable /dev/null + %define pciids %find %{_pciids} + %define pcitable %find %{_pcitable} + Requires: kernel, fileutils, findutils, gawk, bash + + %description + This package contains the Linux driver for the Intel(R) Gigabit Family of Server Adapters. + + ########################### begin RPM build section + + %prep + %setup -n %{driver_name}-%{version} + + %build + mkdir -p %{buildroot} + + KV=%{kernel} + KA=%{_arch} + KV_BASE=$(echo $KV | sed '{ s/hugemem//g; s/smp//g; s/enterprise//g; }' ) + + if [ -e /usr/src/kernels ] && [ $(echo $KV_BASE | grep "^2.6") ]; then + if [ -e /etc/redhat-release ]; then + KSP=$(ls /lib/modules | grep $KV_BASE) + for K in $KSP ; do + if [ $KA == "x86_64" ] && \ + [ $(echo $K | grep hugemem) ]; then + # Include path for x86_64 hugemem is broken + # on RHEL4 + continue + fi + make -C src clean + make -C src KSP=/lib/modules/$K/build \ + INSTALL_MOD_PATH=%{buildroot} \ + KVERSION=$k \ + MANDIR=%{_mandir} \ + CFLAGS_EXTRA="$CFLAGS_EXTRA" install + done + else + make -C src clean + make -C src INSTALL_MOD_PATH=%{buildroot} \ + MANDIR=%{_mandir} install + fi + else + SwitchRHKernel () { + CFLAGS_EXTRA="" + for K in $2 ; do + if [ $K == $1 ] ; then + CFLAGS_EXTRA="$CFLAGS_EXTRA -D__BOOT_KERNEL_$K=1" + else + CFLAGS_EXTRA="$CFLAGS_EXTRA -D__BOOT_KERNEL_$K=0" + fi + done + } + + KSP="/lib/modules/$KV/build + /usr/src/linux-$KV + /usr/src/linux-$(echo $KV | sed 's/-.*//') + /usr/src/kernel-headers-$KV + /usr/src/kernel-source-$KV + /usr/src/linux-$(echo $KV | sed 's/\([0-9]*\.[0-9]*\)\..*/\1/') + /usr/src/linux" + + KSRC=$(for d in $KSP ; do [ -e $d/include/linux ] && echo $d; echo; done) + KSRC=$(echo $KSRC | awk '{ print $1 }') + + if [ -e $KSRC/include/linux/rhconfig.h ] ; then + RHKL=$(grep 'BOOT_KERNEL_.* [01]' /boot/kernel.h | + sed 's/.*BOOT_KERNEL_\(.*\) [01]/\1/') + if echo $RHKL | grep BIGMEM + then + RHKL=$(echo $RHKL | sed 's/ENTERPRISE//') + fi + if echo $RHKL | grep HUGEMEM + then + RHKL=$(echo $RHKL | sed 's/BIGMEM//') + fi + for K in $RHKL ; do + SwitchRHKernel $K "$RHKL" + make -C src clean + if [ $KA == "x86_64" ] ; then + CFLAGS_EXTRA="$CFLAGS_EXTRA -D__MODULE_KERNEL_x86_64=0 -D__MODULE_KERNEL_ia32e=1" + fi + make -C src INSTALL_MOD_PATH=%{buildroot} \ + MANDIR=%{_mandir} CFLAGS_EXTRA="$CFLAGS_EXTRA" install + done + else + make -C src clean + make -C src INSTALL_MOD_PATH=%{buildroot} MANDIR=%{_mandir} install + fi + fi + + %install + # Append .new to driver name to avoid conflict with kernel RPM + echo "# Going to " %{buildroot} + cd %{buildroot} + find lib -name "e1000e.*o" -exec mv {} {}.new \; \ + -fprintf %{_builddir}/%{driver_name}-%{version}/file.list "/%p.new\n" + + + %clean + rm -rf %{buildroot} + + %files -f %{_builddir}/%{driver_name}-%{version}/file.list + %defattr(-,root,root) + %{_mandir}/man7/e1000e.7.gz + %doc COPYING + %doc README + %doc file.list + %doc pci.updates + + ########################### end RPM build section + + ########################### begin RPM installation section + + %post + FL="%{_docdir}/%{name}-%{version}/file.list + %{_docdir}/%{name}/file.list" + FL=$(for d in $FL ; do if [ -e $d ]; then echo $d; break; fi; done) + + if [ -d /usr/local/lib/%{name} ]; then + rm -rf /usr/local/lib/%{name} + fi + if [ -d /usr/local/share/%{name} ]; then + rm -rf /usr/local/share/%{name} + fi + + echo "original pci.ids saved in /usr/local/share/%{name}"; + if [ "%{pcitable}" != "/dev/null" ]; then + echo "original pcitable saved in /usr/local/share/%{name}"; + fi + + #### Save old drivers (aka .o and .o.gz) in $d_usr + # k is(are) the kernel version(s) extracted with sed from the full qualified + # kernel module name(s) in file.list + echo "Original drivers saved in /usr/local/share/%{name}"; + for k in $(sed 's/\/lib\/modules\/\([0-9a-zA-Z_\.\-]*\).*/\1/' $FL) ; + do + d_drivers=/lib/modules/$k + d_usr=/usr/local/share/%{name}/$k + mkdir -p $d_usr + cd $d_drivers; find . -name %{driver_name}.*o -exec cp --parents {} $d_usr \; -exec rm -f {} \; + cd $d_drivers; find . -name %{driver_name}_*.*o -exec cp --parents {} $d_usr \; -exec rm -f {} \; + cd $d_drivers; find . -name %{driver_name}.*o.gz -exec cp --parents {} $d_usr \; -exec rm -f {} \; + cd $d_drivers; find . -name %{driver_name}_*.*o.gz -exec cp --parents {} $d_usr \; -exec rm -f {} \; + cp --parents %{pciids} /usr/local/share/%{name}/ + if [ "%{pcitable}" != "/dev/null" ]; then + cp --parents %{pcitable} /usr/local/share/%{name}/ + fi + done + + # Add driver link + for f in $(sed 's/\.new$//' $FL) ; do + ln -f $f.new $f + done + + # Check if kernel version rpm was built on IS the same as running kernel + BK_LIST=$(sed 's/\/lib\/modules\/\([0-9a-zA-Z_\.\-]*\).*/\1/' $FL) + MATCH=no + for i in $BK_LIST + do + if [ $(uname -r) == $i ] ; then + MATCH=yes + break + fi + done + if [ $MATCH == no ] ; then + echo -n "WARNING: Running kernel is $(uname -r). " + echo -n "RPM supports kernels ( " + for i in $BK_LIST + do + echo -n "$i " + done + echo ")" + fi + + LD="%{_docdir}/%{name}"; + if [ -d %{_docdir}/%{name}-%{version} ]; then + LD="%{_docdir}/%{name}-%{version}"; + fi + + #Yes, this really needs bash + bash -s %{pciids} \ + %{pcitable} \ + $LD/pci.updates \ + $LD/pci.ids.new \ + $LD/pcitable.new \ + %{name} \ + <<"END" + #! /bin/bash + # $1 = system pci.ids file to update + # $2 = system pcitable file to update + # $3 = file with new entries in pci.ids file format + # $4 = pci.ids output file + # $5 = pcitable output file + # $6 = driver name for use in pcitable file + + exec 3<$1 + exec 4<$2 + exec 5<$3 + exec 6>$4 + exec 7>$5 + driver=$6 + IFS= + + # pattern matching strings + ID="[[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]]" + VEN="${ID}*" + DEV=" ${ID}*" + SUB=" ${ID}*" + TABLE_DEV="0x${ID} 0x${ID} \"*" + TABLE_SUB="0x${ID} 0x${ID} 0x${ID} 0x${ID} \"*" + + line= + table_line= + ids_in= + table_in= + vendor= + device= + ids_device= + table_device= + subven= + ids_subven= + table_subven= + subdev= + ids_subdev= + table_subdev= + ven_str= + dev_str= + sub_str= + + # force a sub-shell to fork with a new stdin + # this is needed if the shell is reading these instructions from stdin + while true + do + # get the first line of each data file to jump start things + exec 0<&3 + read -r ids_in + if [ "$2" != "/dev/null" ];then + exec 0<&4 + read -r table_in + fi + + # outer loop reads lines from the updates file + exec 0<&5 + while read -r line + do + # vendor entry + if [[ $line == $VEN ]] + then + vendor=0x${line:0:4} + ven_str=${line#${line:0:6}} + # add entry to pci.ids + exec 0<&3 + exec 1>&6 + while [[ $ids_in != $VEN || + 0x${ids_in:0:4} < $vendor ]] + do + echo "$ids_in" + read -r ids_in + done + echo "$line" + if [[ 0x${ids_in:0:4} == $vendor ]] + then + read -r ids_in + fi + + # device entry + elif [[ $line == $DEV ]] + then + device=`echo ${line:1:4} | tr [:upper:] [:lower:]` + table_device=0x${line:1:4} + dev_str=${line#${line:0:7}} + ids_device=`echo ${ids_in:1:4} | tr [:upper:] [:lower:]` + table_line="$vendor $table_device \"$driver\" \"$ven_str|$dev_str\"" + # add entry to pci.ids + exec 0<&3 + exec 1>&6 + while [[ $ids_in != $DEV || + $ids_device < $device ]] + do + if [[ $ids_in == $VEN ]] + then + break + fi + if [[ $ids_device != ${ids_in:1:4} ]] + then + echo "${ids_in:0:1}$ids_device${ids_in#${ids_in:0:5}}" + else + echo "$ids_in" + fi + read -r ids_in + ids_device=`echo ${ids_in:1:4} | tr [:upper:] [:lower:]` + done + if [[ $device != ${line:1:4} ]] + then + echo "${line:0:1}$device${line#${line:0:5}}" + else + echo "$line" + fi + if [[ $ids_device == $device ]] + then + read -r ids_in + fi + # add entry to pcitable + if [ "$2" != "/dev/null" ];then + exec 0<&4 + exec 1>&7 + while [[ $table_in != $TABLE_DEV || + ${table_in:0:6} < $vendor || + ( ${table_in:0:6} == $vendor && + ${table_in:7:6} < $table_device ) ]] + do + echo "$table_in" + read -r table_in + done + echo "$table_line" + if [[ ${table_in:0:6} == $vendor && + ${table_in:7:6} == $table_device ]] + then + read -r table_in + fi + fi + # subsystem entry + elif [[ $line == $SUB ]] + then + subven=`echo ${line:2:4} | tr [:upper:] [:lower:]` + subdev=`echo ${line:7:4} | tr [:upper:] [:lower:]` + table_subven=0x${line:2:4} + table_subdev=0x${line:7:4} + sub_str=${line#${line:0:13}} + ids_subven=`echo ${ids_in:2:4} | tr [:upper:] [:lower:]` + ids_subdev=`echo ${ids_in:7:4} | tr [:upper:] [:lower:]` + table_line="$vendor $table_device $table_subven $table_subdev \"$driver\" \"$ven_str|$sub_str\"" + # add entry to pci.ids + exec 0<&3 + exec 1>&6 + while [[ $ids_in != $SUB || + $ids_subven < $subven || + ( $ids_subven == $subven && + $ids_subdev < $subdev ) ]] + do + if [[ $ids_in == $VEN || + $ids_in == $DEV ]] + then + break + fi + if [[ ! (${ids_in:2:4} == "1014" && + ${ids_in:7:4} == "052C") ]] + then + if [[ $ids_subven != ${ids_in:2:4} || $ids_subdev != ${ids_in:7:4} ]] + then + echo "${ids_in:0:2}$ids_subven $ids_subdev${ids_in#${ids_in:0:11}}" + else + echo "$ids_in" + fi + fi + read -r ids_in + ids_subven=`echo ${ids_in:2:4} | tr [:upper:] [:lower:]` + ids_subdev=`echo ${ids_in:7:4} | tr [:upper:] [:lower:]` + done + if [[ $subven != ${line:2:4} || $subdev != ${line:7:4} ]] + then + echo "${line:0:2}$subven $subdev${line#${line:0:11}}" + else + echo "$line" + fi + if [[ $ids_subven == $subven && + $ids_subdev == $subdev ]] + then + read -r ids_in + fi + # add entry to pcitable + if [ "$2" != "/dev/null" ];then + exec 0<&4 + exec 1>&7 + while [[ $table_in != $TABLE_SUB || + ${table_in:14:6} < $table_subven || + ( ${table_in:14:6} == $table_subven && + ${table_in:21:6} < $table_subdev ) ]] + do + if [[ $table_in == $TABLE_DEV ]] + then + break + fi + if [[ ! (${table_in:14:6} == "0x1014" && + ${table_in:21:6} == "0x052C") ]] + then + echo "$table_in" + fi + read -r table_in + done + echo "$table_line" + if [[ ${table_in:14:6} == $table_subven && + ${table_in:21:6} == $table_subdev ]] + then + read -r table_in + fi + fi + fi + + exec 0<&5 + done + + # print the remainder of the original files + exec 0<&3 + exec 1>&6 + echo "$ids_in" + while read -r ids_in + do + echo "$ids_in" + done + + if [ "$2" != "/dev/null" ];then + exec 0>&4 + exec 1>&7 + echo "$table_in" + while read -r table_in + do + echo "$table_in" + done + fi + + break + done <&5 + + exec 3<&- + exec 4<&- + exec 5<&- + exec 6>&- + exec 7>&- + + END + + mv -f $LD/pci.ids.new %{pciids} + if [ "%{pcitable}" != "/dev/null" ]; then + mv -f $LD/pcitable.new %{pcitable} + fi + + uname -r | grep BOOT || /sbin/depmod -a > /dev/null 2>&1 || true + + ########################### end RPM installation section + + ########################### begin RPM deinstallation section + %preun + # If doing RPM un-install + if [ $1 -eq 0 ] ; then + FL="%{_docdir}/%{name}-%{version}/file.list + %{_docdir}/%{name}/file.list" + FL=$(for d in $FL ; do if [ -e $d ]; then echo $d; break; fi; done) + + # Remove driver link + for f in $(sed 's/\.new$//' $FL) ; do + rm -f $f + done + + # Restore old drivers + if [ -d /usr/local/share/%{name} ]; then + cd /usr/local/share/%{name}; find . -name '%{driver_name}.*o*' -exec cp --parents {} /lib/modules/ \; + cd /usr/local/share/%{name}; find . -name '%{driver_name}_*.*o*' -exec cp --parents {} /lib/modules/ \; + rm -rf /usr/local/share/%{name} + fi + fi + + %postun + uname -r | grep BOOT || /sbin/depmod -a > /dev/null 2>&1 || true + + ########################### end RPM deinstallation section + + #### end e1000e.spec + + =closetwisty + + =head3 Create the Customization Key for the e1000e Driver, Example for x86_64 + + Go to the customization key directory for SL5.1 and create the basic + files. + + # cd /afs/psi.ch/software/linux/dist/scientific/51/kickstart/custom/ + # mkdir e1000e + # cd e1000e + # touch custom.sh + # vi custom.sh + + =opentwisty + + #!/bin/bash + # + # KS Customization for e1000e driver + # + # marc.gasser@psi.ch + # 2009-02-24 + # + # KSII scriplet rules apply + # + # This customization was added for the Intel Gigabit ethernet + # card 82567LM, which comes with the new Fujitsu Siemens computers + # Celsius W370, Esprimo p7935 e80, Esprimo e7935 e80 and Lifebook e8420, + # because the e1000e.ko version 0.2.0 coming with SL kernels <= 2.6.18-92.1.22.el5 + # does not support this kind of hardware. + # + ############################################################## + # Changelog: + # --------- + # + ############################################################## + + ARCH=$(uname -m) + DIR_E1000E=/mnt/master/linux/dist/scientific/51/psi/all + + # Install the kernel-module-e1000e containing the e1000e driver + if test "$ARCH" = "x86_64" + then + echo "Install kernel-module-e1000e for $ARCH" >> $POSTLOG 2>&1 + rpm -ivh $DIR_E1000E/kernel-module-e1000e-2.6.18-92.1.22.el5-0.4.1.7-1.x86_64.rpm || \ + echo error installing kernel-module-e1000e \ + >> $POSTLOG 2>&1 + else + echo "Install kernel-module-e1000e for $ARCH" >> $POSTLOG 2>&1 + rpm -ivh $DIR_E1000E/kernel-module-e1000e-2.6.18-92.1.22.el5-0.4.1.7-1.i386.rpm || \ + echo error installing kernel-module-e1000e \ + >> $POSTLOG 2>&1 + fi + + =closetwisty + + Copy the kernel-module-e1000e RPMS to F + and F, create the symbolic links + in the corresponding F and/or F repositories, and run C + within F and/or F. + + That's it. Now you can test the installation using the custom key + F. diff --git a/admin-guide/legacy/misc/linuxhowto-rpm-updatepsi-desktoppackageonsl5.rst b/admin-guide/legacy/misc/linuxhowto-rpm-updatepsi-desktoppackageonsl5.rst new file mode 100644 index 00000000..76eb5948 --- /dev/null +++ b/admin-guide/legacy/misc/linuxhowto-rpm-updatepsi-desktoppackageonsl5.rst @@ -0,0 +1,236 @@ +Linux How To - RPM - Update psi-desktop Package on SL5 +====================================================== + +Introduction +------------ + +Contemporary there are many PSI related cron jobs which are executed +at the same time on all linux clients. As a consequence too many AFS +requests coming from these clients are sent simultaneously to the AFS +servers causing AFS performance problems. Thus, these cron jobs should +be spread over time. In order to have time to fix things if anything +goes wrong, the respective jobs are scheduled within a certain time +window instead of using the whole time range, e.g. the hourly executed +job window ranges from 20-40 minutes of an hour and not from 0-59 +minutes. + +At the time of writing only `/usr/sbin/psi-puppet` is configured to +run within such a window, the time is set randomly in +`/etc/cron.d/psi-cronjobs` during installation of the RPM psi-desktop +to which the file belongs to, 27 in the example below:: + + # + # /etc/cron.d/psi-cronjobs + # + # PSI related cronjobs + # + # Urs Beyerle, PSI + # + + # Run puppet every hour at xx:27 + 27 * * * * root /usr/sbin/psi-puppet >/dev/null 2>&1 + + # Send info back to master daily at 10:00 + 00 10 * * * root /usr/sbin/psi-sendinfo >/dev/null 2>&1 + + # Run psi-auto-udpate daily at 00:30, 01:30, 02:30, 04:30 + 30 00 * * * root /usr/sbin/psi-auto-update >> /var/log/update/psi-update.log 2>&1 + 30 02 * * * root /usr/sbin/psi-auto-update >> /var/log/update/psi-update.log 2>&1 + 30 03 * * * root /usr/sbin/psi-auto-update >> /var/log/update/psi-update.log 2>&1 + 30 04 * * * root /usr/sbin/psi-auto-update >> /var/log/update/psi-update.log 2>&1 + + +- /usr/sbin/psi-puppet: Runs puppetd, but only if AUTO_UPDATE_CONFIG=yes +- /usr/sbin/psi-auto-update: Runs the psi-update script if AUTO_UPDATE_RPMS=yes +- /usr/sbin/psi-update: Runs the yum_update script + (Will get the script yum_update from our master. + The script yum_update will be saved as psi-yum_update. + Afterwards psi-yum_update will be executed locally.) + +Now the following jobs should be scheduled analogously.#??? + +- `/etc/cron.hourly/update_afs_users` + +- `/etc/cron.hourly/update_environment_modules` + +Maybe the time window for `/usr/sbin/psi-puppet` has to be expanded. + +- Are there GFA related things which should be scheduled in a new manner?#??? + +Procedure Description +~~~~~~~~~~~~~~~~~~~~~ + +Go to the relevant build system (e.g. tux50). Get the sources for +building the psi-desktop RPM, unpack them and apply your modifications +in the unpacked files. When finished tar and gzip again, build the new +RPM, and, eventually, test it on a test machine. + + +Procedure Step by Step +~~~~~~~~~~~~~~~~~~~~~~ + +Get The Source RPM +.................... + +Run:: + + # [gasser_m@tux50] + # cd /scratch/gasser_m/rpm_topdir/SRPMS/ + # ll /scratch/redhat/SRPMS/ + total 11M + -rw-r--r-- 1 beyerle ait 4.9M Jun 30 08:09 psi-desktop-1.3.3-16.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 4.9M Jun 30 08:11 psi-desktop-1.3.3-17.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 5.3K Jun 30 10:32 nxcleanup-0.3-1.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 6.0K Jul 9 10:40 nxcleanup-0.4-1.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 418K Jul 16 10:48 aufs-0.20080605.cvs-5.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 642K Jul 29 12:57 ntfs-3g-1.2712-4.slp5.src.rpm + + # cp /scratch/redhat/SRPMS/psi-desktop-1.3.3-17.slp5.src.rpm . + # rpm -ivh psi-desktop-1.3.3-17.slp5.src.rpm + +This will install the files +`/scratch/gasser_m/rpm_topdir/SOURCES/psi-desktop-1.3.3.tar.gz` and +`/scratch/gasser_m/rpm_topdir/SPECS/psi-desktop.spec`:: + + # cd /scratch/gasser_m/rpm_topdir/SOURCES/ + # tar xfz psi-desktop-1.3.3.tar.gz + +Apply Your Modifications +........................ + +Edit `/scratch/gasser_m/rpm_topdir/SPECS/psi-desktop.spec`:: + + Modified Parts in "psi-desktop.spec" + ------------------------------------ + Note: Some lines are cut at the end. + + NEW VERSION | OLD VERSION + --------------------------------------------------------------------------------------------------------------------- + ... + Release: 18%{?dist} | Release: 17%{?dist} + ... + Packager: Marc Gasser | Packager: Urs Beyerle + ... + #### begin psi-cronjobs ############################ | # randomly runs puppet in psi-cronjobs + # | # create a random number between 0-9 + # Randomly run commands in "/etc/cron.d/psi-cronjobs" | random=${RANDOM:1:1} + # | [ ! $random ] && random=0 + # /usr/sbin/psi-puppet: hourly at random1 | sed -i "s/random/$random/" /etc/cron.d/psi-cronjobs + random1=$[ ( $RANDOM % 20 ) + 21 ] # create a random n| + [ ! $random1 ] && random1=33 | + sed -i "s/random1/$random1/g" /etc/cron.d/psi-cronjobs | + | + # /usr/sbin/psi-sendinfo: daily at 10:1random2 | + # /usr/sbin/update_environment_modules: daily at 06:0random| + # /usr/sbin/update_afs_users: hourly at XX:1random2 | + random2=$[ ( $RANDOM % 10 ) ] # create a random number be| + [ ! $random2 ] && random2=3 | + sed -i "s/random2/$random2/g" /etc/cron.d/psi-cronjobs | + | + #### end psi-cronjobs ############################ | + ... + --------------------------------------------------------------------------------------------------------------------- + + +Edit `/etc/cron.d/psi-cronjobs`. The modified `psi-cronjobs` which +will be packed into the new `psi-desktop` RPM:: + + # cd /scratch/gasser_m/rpm_topdir/SOURCES/psi-desktop-1.3.3/slp5/etc/cron.d + # vi psi-cronjobs + + # + # /etc/cron.d/psi-cronjobs + # + # PSI related cronjobs + # + # Marc Gasser, PSI + # + # Note: The time settings for these cron jobs are + # set in "psi-desktop.spec". They are + # randomized within a specific time window. + # The randomization takes place when the RPM is + # installed, thus it is client specific. + + + # Run psi-puppet every hour at XX:random1 + random1 * * * * root /usr/sbin/psi-puppet >/dev/null 2>&1 + + # Send info back to master daily at 10:1random2 + 1random2 10 * * * root /usr/sbin/psi-sendinfo >/dev/null 2>&1 + + # Run psi-auto-udpate daily at 00:4random2, 01:4random2, 02:4random2, 04:4random2 + 4random2 00 * * * root /usr/sbin/psi-auto-update >> /var/log/update/psi-update.log 2>&1 + 4random2 02 * * * root /usr/sbin/psi-auto-update >> /var/log/update/psi-update.log 2>&1 + 4random2 03 * * * root /usr/sbin/psi-auto-update >> /var/log/update/psi-update.log 2>&1 + 4random2 04 * * * root /usr/sbin/psi-auto-update >> /var/log/update/psi-update.log 2>&1 + + # Run update_environment_modules daily at 06:0random2, 13:0random2, 18:0random2 + 0random2 06 * * * root /usr/sbin/update_environment_modules >/dev/null 2>&1 + 0random2 13 * * * root /usr/sbin/update_environment_modules >/dev/null 2>&1 + 0random2 18 * * * root /usr/sbin/update_environment_modules >/dev/null 2>&1 + + # Run update_afs_users every hour at XX:1random2 + 1random2 * * * * root /usr/sbin/update_afs_users >/dev/null 2>&1 + + +Move commands which are controlled by `/etc/cron.d/psi-cronjobs` to +`/usr/sbin/` if not done yet:: + + # cd /scratch/gasser_m/rpm_topdir/SOURCES/psi-desktop-1.3.3/slp5/ + # mv etc/cron.d/update_environment_modules usr/sbin/ + # mv etc/cron.d/update_afs_users usr/sbin/ + +Cronjob Schedule in `psi-cronjobs` +.................................. + +Applying this `psi-desktop.spec` to the file `psi-cronjobs` will +randomly distribute the respective cronjobs whithin the time windows +given below. The randomization takes place when the RPM is installed +or updated on the client. + +- `/usr/sbin/psi-puppet`: hourly from HH:21 to HH:40. + +- `/usr/sbin/psi-sendinfo`: daily from 10:10 to 10:19. + +- `/usr/sbin/update_environment_modules`: daily from 06:00 to 06:09, + from 13:00 to 13:09 and from 18:00 to 18:09. + +- `/usr/sbin/update_afs_users`: hourly from HH:10 to HH:19. + + +Build the new `psi-desktop` RPM +............................... + +Build both, the new RPM and the new SRPM applying the spec file:: + + # cd /scratch/gasser_m/rpm_topdir/SOURCES/ + # tar cfz psi-desktop-1.3.3.tar.gz psi-desktop-1.3.3 + # rm -rf psi-desktop-1.3.3/ + # cd /scratch/gasser_m/rpm_topdir/SPECS/ + # rpmbuild -ba psi-desktop.spec + +Test the New `psi-desktop` RPM +.............................. + +The file +`tux50:/scratch/gasser_m/rpm_topdir/RPMS/noarch/psi-desktop-1.3.3-18.slp5.noarch.rpm` +was copied to `pc7377:/tmp/` and updated using yum:: + + # [root@pc7377 etc] + # yum update /tmp/psi-desktop-1.3.3-18.slp5.noarch.rpm + + +Add the New `psi-desktop` RPM to Psi-All Repository +................................................... + +Copy the new RPM to the respective SL5 repository. Update the +`repodata` and the symbolic links in `.../RPMSall/...` if necessary:: + + # [gasser_m@tux50 ~] + # cd /scratch/gasser_m/rpm_topdir/RPMS/noarch/ + # cp psi-desktop-1.3.3-18.slp5.noarch.rpm /afs/psi.ch/software/linux/dist/scientific/51/psi/all/ + + # cd /afs/psi.ch/software/linux/dist/scientific/51/psi/all/ + # createrepo . + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts + # make rpms_all diff --git a/admin-guide/legacy/misc/linuxhowto-sl5-nvidiadriverinstallationupdate.rst b/admin-guide/legacy/misc/linuxhowto-sl5-nvidiadriverinstallationupdate.rst new file mode 100644 index 00000000..764dd56f --- /dev/null +++ b/admin-guide/legacy/misc/linuxhowto-sl5-nvidiadriverinstallationupdate.rst @@ -0,0 +1,452 @@ +Linux How To - SL5 - Nvidia Driver Installation/Update On SL51 i386 +=================================================================== + +References +---------- + +- https://wiki.intranet.psi.ch/AIT/Linux/HowToDKMS?skin=clean.nat%2cpsiskin%2cpattern #Update_nvidia_x11_drv_driver_to + +- [[DynamicKernelModuleSupportBasics][Dynamic Kernel Module Support (DKMS) Basics]] + + +Requirements +~~~~~~~~~~~~ + +DKMS (Dynamic Kernel Module Support) framework has to be installed +before the nvidia RPM installation, because the RPM scripts use it for +proper setup:: + + # yum install dkms.noarch + + +Procedure +~~~~~~~~~ + +Check what graphic card is in your computer and what driver is +installed:: + + # lspci + ... + 01:00.0 VGA compatible controller: nVidia Corporation G72 [GeForce 7300 LE] (rev a1) + + # less /etc/X11/xorg.conf + (See the output below at "before nvidia installation".) + + # rpm -qa | grep nvid + (nothing found) + +Before beginning with the installation of the new graphics driver, +make a backup of your current `xorg.conf`:: + + # cd /etc/X11/ + # cp xorg.conf xorg.conf_bak + +Check whether some nvidia driver is available:: + + # [root@pc7377 X11]# yum list | grep nvidia + nvidia-x11-drv.i386 100.14.19-3.9.slp5 sl51psi + + # [root@pc7377 X11]# yum install nvidia-x11-drv.i386 + + + ### begin output + Loading "kernel-module" plugin + Setting up Install Process + Setting up repositories + Reading repository metadata in from local files + Parsing package install arguments + Resolving Dependencies + --> Populating transaction set with selected packages. Please wait. + ---> Downloading header for nvidia-x11-drv to pack into transaction set. + nvidia-x11-drv-100.14.19- 100% |=========================| 24 kB 00:00 + ---> Package nvidia-x11-drv.i386 0:100.14.19-3.9.slp5 set to be updated + --> Running transaction check + --> Processing Dependency: dkms for package: nvidia-x11-drv + --> Restarting Dependency Resolution with new changes. + --> Populating transaction set with selected packages. Please wait. + ---> Downloading header for dkms to pack into transaction set. + dkms-2.0.17.4-1.9.slp5.no 100% |=========================| 36 kB 00:00 + ---> Package dkms.noarch 0:2.0.17.4-1.9.slp5 set to be updated + --> Running transaction check + Beginning Kernel Module Plugin + Finished Kernel Module Plugin + + Dependencies Resolved + + ============================================================================= + Package Arch Version Repository Size + ============================================================================= + Installing: + nvidia-x11-drv i386 100.14.19-3.9.slp5 sl51psi 7.1 M + Installing for dependencies: + dkms noarch 2.0.17.4-1.9.slp5 sl51psi 89 k + + Transaction Summary + ============================================================================= + Install 2 Package(s) + Update 0 Package(s) + Remove 0 Package(s) + + Total download size: 7.2 M + Is this ok [y/N]: y + Downloading Packages: + (1/2): nvidia-x11-drv-100 100% |=========================| 7.1 MB 00:00 + (2/2): dkms-2.0.17.4-1.9. 100% |=========================| 89 kB 00:00 + Running Transaction Test + Finished Transaction Test + Transaction Test Succeeded + Running Transaction + Installing: dkms ######################### [1/2] + Installing: nvidia-x11-drv ######################### [2/2] + + Installed: nvidia-x11-drv.i386 0:100.14.19-3.9.slp5 + Dependency Installed: dkms.noarch 0:2.0.17.4-1.9.slp5 + Complete! + [root@pc7377 X11]# dkms status -m nvidia + nvidia, 100.14.19-3.9.slp5, 2.6.18-92.1.10.el5, i686: installed + nvidia, 100.14.19-3.9.slp5, 2.6.18-53.1.4.el5, i686: installed-weak from 2.6.18-92.1.10.el5 + nvidia, 100.14.19-3.9.slp5, 2.6.18-53.1.21.el5, i686: installed-weak from 2.6.18-92.1.10.el5 + [root@pc7377 X11]# rpm -q --scripts nvidia-x11-drv-100 + package nvidia-x11-drv-100 is not installed + [root@pc7377 X11]# rpm -q --scripts nvidia-x11-drv + postinstall scriptlet (using /bin/sh): + /sbin/ldconfig + # Make sure we have a Files section in xorg.conf, otherwise create an empty one + XORGCONF=/etc/X11/xorg.conf + [ -w ${XORGCONF} ] && ! grep -q 'Section "Files"' ${XORGCONF} && \ + echo -e 'Section "Files"\nEndSection' >> ${XORGCONF} + # Enable the proprietary driver + /usr/sbin/nvidia-config-display enable || : + # Add to DKMS registry + dkms add -m nvidia -v 100.14.19-3.9.slp5 -q || : + # Rebuild and make available for the currenty running kernel + dkms build -m nvidia -v 100.14.19-3.9.slp5 -q || : + dkms install -m nvidia -v 100.14.19-3.9.slp5 -q --force || : + /sbin/MAKEDEV nvidia + preuninstall scriptlet (using /bin/sh): + # Remove all versions from DKMS registry + dkms remove -m nvidia -v 100.14.19-3.9.slp5 -q --all || : + # Last removal, disable the proprietary driver + if [ $1 -eq 0 ]; then + /usr/sbin/nvidia-config-display disable || : + fi + postuninstall program: /sbin/ldconfig + ### end output + +Check the status of the nvidia kernel module. (From the dkms manpage: +`dkms status` returns the current status of modules, versions and +kernels within the tree as well as whether they have been added, built +or installed.):: + + # dkms status -m nvidia + nvidia, 100.14.19-3.9.slp5, 2.6.18-92.1.10.el5, i686: installed + nvidia, 100.14.19-3.9.slp5, 2.6.18-53.1.4.el5, i686: installed-weak from 2.6.18-92.1.10.el5 + nvidia, 100.14.19-3.9.slp5, 2.6.18-53.1.21.el5, i686: installed-weak from 2.6.18-92.1.10.el5 + +List the package specific scriptlet(s) that are used as part of the +installation and uninstallation processes:: + + # rpm -q --scripts nvidia-x11-drv + + ### begin output + postinstall scriptlet (using /bin/sh): + /sbin/ldconfig + # Make sure we have a Files section in xorg.conf, otherwise create an empty one + XORGCONF=/etc/X11/xorg.conf + [ -w ${XORGCONF} ] && ! grep -q 'Section "Files"' ${XORGCONF} && \ + echo -e 'Section "Files"\nEndSection' >> ${XORGCONF} + # Enable the proprietary driver + /usr/sbin/nvidia-config-display enable || : + # Add to DKMS registry + dkms add -m nvidia -v 100.14.19-3.9.slp5 -q || : + # Rebuild and make available for the currenty running kernel + dkms build -m nvidia -v 100.14.19-3.9.slp5 -q || : + dkms install -m nvidia -v 100.14.19-3.9.slp5 -q --force || : + /sbin/MAKEDEV nvidia + preuninstall scriptlet (using /bin/sh): + # Remove all versions from DKMS registry + dkms remove -m nvidia -v 100.14.19-3.9.slp5 -q --all || : + # Last removal, disable the proprietary driver + if [ $1 -eq 0 ]; then + /usr/sbin/nvidia-config-display disable || : + fi + postuninstall program: /sbin/ldconfig + ### end output + + +Check whether your xorg.conf was modified to use the nvidia driver:: + + # less /etc/X11/xorg.conf + + ### begin output + (after nvidia installation) # (before nvidia installation) + # Xorg configuration created by pyxf86config # # Xorg configuration created by pyxf86config + # + Section "ServerLayout" # Section "ServerLayout" + Identifier "Default Layout" # Identifier "Default Layout" + Screen 0 "Screen0" 0 0 # Screen 0 "Screen0" 0 0 + InputDevice "Keyboard0" "CoreKeyboard" # InputDevice "Keyboard0" "CoreKeyboard" + EndSection # EndSection + # + Section "Files" # + ModulePath "/usr/lib/xorg/modules/extensions/nvidia" # + ModulePath "/usr/lib/xorg/modules" # + EndSection # + # + Section "InputDevice" # Section "InputDevice" + Identifier "Keyboard0" # Identifier "Keyboard0" + Driver "kbd" # Driver "kbd" + Option "XkbModel" "pc105" # Option "XkbModel" "pc105" + Option "XkbLayout" "ch" # Option "XkbLayout" "ch" + Option "XkbVariant" "de_nodeadkeys" # Option "XkbVariant" "de_nodeadkeys" + EndSection # EndSection + # + Section "Device" # Section "Device" + Identifier "Videocard0" # Identifier "Videocard0" + Driver "nvidia" # Driver "nv" + EndSection # EndSection + # + Section "Screen" # Section "Screen" + Identifier "Screen0" # Identifier "Screen0" + Device "Videocard0" # Device "Videocard0" + DefaultDepth 24 # DefaultDepth 24 + SubSection "Display" # SubSection "Display" + Viewport 0 0 # Viewport 0 0 + Depth 24 # Depth 24 + EndSubSection # EndSubSection + EndSection # EndSection + ### end output # + + +Test the module with glxgears for instance:: + + [root@pc7377 ~]# glxgears + + 11424 frames in 5.0 seconds = 2284.662 FPS + 11291 frames in 5.0 seconds = 2258.003 FPS + 11244 frames in 5.0 seconds = 2248.682 FPS + 11290 frames in 5.0 seconds = 2257.974 FPS + 12626 frames in 5.0 seconds = 2525.121 FPS + 3439 frames in 5.0 seconds = 687.363 FPS + 964 frames in 5.0 seconds = 192.629 FPS + 964 frames in 5.0 seconds = 192.620 FPS + 1395 frames in 5.0 seconds = 278.978 FPS + 12080 frames in 5.0 seconds = 2415.854 FPS + 11252 frames in 5.0 seconds = 2250.348 FPS + + +Problem With Automatic Nvidia Driver Update On SL51 i386 +-------------------------------------------------------- + +Problem Description +~~~~~~~~~~~~~~~~~~~ + +On some systems the automatic nvidia driver update by dkms fails. +Somehow when the new RPM `nvidia-x11-drv-169.12-4.9.slp5` is installed +by yum or rpm, the old nvidia version `100.14.19-3.9.slp5` remains in +dkms status `added`, i.e. the respective directory remains in the dkms +tree, while the original driver sources are removed from `/usr/src/`, +i.e. the RPM `nvidia-x11-drv-100.14.19-3.9.slp5` was removed. + +During reboot the service `dkms_autoinstaller` (see `chkconfig +--list`) obviously tries to build the old `100.14.19-3.9.slp5` as well +because it tries to get the file +`/var/lib/dkms/nvidia/100.14.19-3.9.slp5/source/dkms.conf`. This, +however, fails because the `.../scource` is a symbolic link pointing +to the source directory that was removed during the nvidia RPM update +as mentioned before:: + + "source -> /usr/src/nvidia-100.14.19-3.9.slp5" + +Though, this basically would not be a problem if dkms was not confused +by the occurences of several nvidia versions in its tree under +`/var/lib/dkms/nvidia/`. + +The main questions are: + +- Why does the update procedure only partially clean the installation + environment (under `/usr/src/` it is clean, under + `/var/lib/dkms/nvidia/` it is not)? + +- Why does dkms not properly recognize the new nvidia version only but + also tries to build modules out of the sources of the older version? + + +Solution +~~~~~~~~ + +The problem appears if the nvidia driver RPM is installed or updated +before the dkms framework is ready on the system, because the RPM +scripts invoke a variety of `dkms` commands to install the new driver +into the dkms tree and to remove the old driver version from it. Thus, +one has to install the dkms RPM first, before doing any driver +installation or updates. + +Manual Update Using DKMS +~~~~~~~~~~~~~~~~~~~~~~~~ + +Perform the following steps:: + + [root@pc7377 ~]# dkms status -m nvidia + nvidia, 100.14.19-3.9.slp5, 2.6.18-92.1.10.el5, i686: installed + nvidia, 100.14.19-3.9.slp5, 2.6.18-92.1.13.el5, i686: installed + nvidia, 100.14.19-3.9.slp5, 2.6.18-53.1.4.el5, i686: installed-weak from 2.6.18-92.1.10.el5 + nvidia, 100.14.19-3.9.slp5, 2.6.18-53.1.4.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + nvidia, 100.14.19-3.9.slp5, 2.6.18-53.1.21.el5, i686: installed-weak from 2.6.18-92.1.10.el5 + nvidia, 100.14.19-3.9.slp5, 2.6.18-53.1.21.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + nvidia, 100.14.19-3.9.slp5, 2.6.18-92.1.10.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + + [root@pc7377 ~]# uname -a + Linux pc7377 2.6.18-92.1.13.el5 #1 SMP Wed Sep 24 16:44:34 EDT 2008 i686 i686 i386 GNU/Linux + + [root@pc7377 ~]# locate nvidia.ko + /lib/modules/2.6.18-53.1.21.el5/weak-updates/lib/modules/2.6.18-92.1.10.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-53.1.21.el5/weak-updates/lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-53.1.4.el5/weak-updates/lib/modules/2.6.18-92.1.10.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-53.1.4.el5/weak-updates/lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-92.1.10.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-92.1.10.el5/weak-updates/lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko + /var/lib/dkms/nvidia/100.14.19-3.9.slp5/2.6.18-92.1.10.el5/i686/module/nvidia.ko + /var/lib/dkms/nvidia/100.14.19-3.9.slp5/2.6.18-92.1.13.el5/i686/module/nvidia.ko + + [root@pc7377 ~]# rpm -q nvidia-x11-drv + nvidia-x11-drv-100.14.19-3.9.slp5 + + [root@pc7377 ~]# cp -i /etc/X11/xorg.conf /etc/X11/xorg.conf_orig + + [root@pc7377 ~]# yum --enablerepo=psi-beta update nvidia-x11-drv + ... + ============================================================================= + Package Arch Version Repository Size + ============================================================================= + Updating: + nvidia-x11-drv i386 169.12-4.9.slp5 psi-beta 9.7 M + + Transaction Summary + ============================================================================= + Install 0 Package(s) + Update 1 Package(s) + Remove 0 Package(s) + + Total download size: 9.7 M + Is this ok [y/N]: y + Downloading Packages: + (1/1): nvidia-x11-drv-169 100% |=========================| 9.7 MB 00:00 + Running Transaction Test + Finished Transaction Test + Transaction Test Succeeded + Running Transaction + Updating : nvidia-x11-drv ######################### [1/2] + + Cleanup : nvidia-x11-drv ######################### [2/2] + + Updated: nvidia-x11-drv.i386 0:169.12-4.9.slp5 + + +- Note + + `yum update` takes some time because it invokes dkms, which builds + the required module(s) on the fly and does the cleaning up, see + `nvidia.spec` or the output of `rpm -q --scripts RPM`:: + + + [root@pc7377 nvidia]# rpm -q --scripts nvidia-x11-drv-169.12-4.9.slp5 + postinstall scriptlet (using /bin/sh): + /sbin/ldconfig + # Make sure we have a Files section in xorg.conf, otherwise create an empty one + XORGCONF=/etc/X11/xorg.conf + [ -w ${XORGCONF} ] && ! grep -q 'Section "Files"' ${XORGCONF} && \ + echo -e 'Section "Files"\nEndSection' >> ${XORGCONF} + # Enable the proprietary driver + /usr/sbin/nvidia-config-display enable || : + # Add to DKMS registry + dkms add -m nvidia -v 169.12-4.9.slp5 -q || : + # Rebuild and make available for the currenty running kernel + dkms build -m nvidia -v 169.12-4.9.slp5 -q || : + dkms install -m nvidia -v 169.12-4.9.slp5 -q --force || : + /sbin/MAKEDEV nvidia + preuninstall scriptlet (using /bin/sh): + # Remove all versions from DKMS registry + dkms remove -m nvidia -v 169.12-4.9.slp5 -q --all || : + # Last removal, disable the proprietary driver + if [ $1 -eq 0 ]; then + /usr/sbin/nvidia-config-display disable || : + fi + postuninstall program: /sbin/ldconfig + + +Snapshot of output of `ps auxwf` during `yum update`:: + + ... + \_ /bin/bash + root 16677 0.0 0.0 5968 1668 pts/1 S 17:25 0:00 | \_ su - + root 16681 0.0 0.0 4804 1440 pts/1 S 17:25 0:00 | \_ -bash + root 17409 1.6 2.1 55980 44440 pts/1 S+ 17:43 0:04 | \_ /usr/bin/python /usr/bin/yum --enablerepo=psi-beta + root 17413 0.0 0.0 4452 1028 pts/1 S+ 17:44 0:00 | \_ /bin/sh /var/tmp/rpm-tmp.62532 2 + root 18088 0.0 0.0 5112 1764 pts/1 S+ 17:45 0:00 | \_ /bin/bash /usr/sbin/dkms install -m nvidia + root 18188 0.0 0.0 4456 1200 pts/1 S+ 17:45 0:00 | \_ /bin/bash /sbin/weak-modules --add-modu + root 19238 0.0 0.0 4460 692 pts/1 S+ 17:47 0:00 | \_ /bin/bash /sbin/weak-modules --add- + root 19243 5.5 0.0 2004 452 pts/1 D+ 17:47 0:00 | \_ zcat /boot/initrd-2.6.18-53.1.4 + root 19244 2.5 0.0 1816 496 pts/1 S+ 17:47 0:00 | \_ cpio -i + ... + + +When the new nvidia RPM was installed the old stuff was not cleaned up +properly, the old module sources remained in the dkms tree under +`/var/lib/dkms/nvidia/` and has to be removed manually:: + + [root@pc7377 etc]# dkms status -m nvidia + nvidia, 100.14.19-3.9.slp5: added + nvidia, 169.12-4.9.slp5, 2.6.18-92.1.13.el5, i686: installed + nvidia, 169.12-4.9.slp5, 2.6.18-53.1.4.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + nvidia, 169.12-4.9.slp5, 2.6.18-53.1.21.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + nvidia, 169.12-4.9.slp5, 2.6.18-92.1.10.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + + # rm -rf /var/lib/dkms/nvidia/100.14.19-3.9.slp5/ + # dkms status -m nvidia + nvidia, 169.12-4.9.slp5, 2.6.18-92.1.13.el5, i686: installed + nvidia, 169.12-4.9.slp5, 2.6.18-53.1.4.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + nvidia, 169.12-4.9.slp5, 2.6.18-53.1.21.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + nvidia, 169.12-4.9.slp5, 2.6.18-92.1.10.el5, i686: installed-weak from 2.6.18-92.1.13.el5 + +The `.../weak-updates/...` nvidia modules below are symbolic links to +`/lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko`, +which is identical with +`/var/lib/dkms/nvidia/169.12-4.9.slp5/2.6.18-92.1.13.el5/i686/module/nvidia.ko`:: + + [root@pc7377 etc]# updatedb + [root@pc7377 etc]# locate nvidia.ko + /lib/modules/2.6.18-53.1.21.el5/weak-updates/lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-53.1.4.el5/weak-updates/lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-92.1.10.el5/weak-updates/lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko + /lib/modules/2.6.18-92.1.13.el5/kernel/drivers/video/nvidia/nvidia.ko + /var/lib/dkms/nvidia/169.12-4.9.slp5/2.6.18-92.1.13.el5/i686/module/nvidia.ko + + +Nvidia related lines in `/var/log/messages`:: + + ... + Oct 23 17:48:12 pc7377 Updated: nvidia-x11-drv.i386 169.12-4.9.slp5 + ... + Oct 24 11:16:04 pc7377 kernel: NVRM: API mismatch: the client has the version 169.12, but + Oct 24 11:16:04 pc7377 kernel: NVRM: this kernel module has the version 100.14.19. Please + Oct 24 11:16:04 pc7377 kernel: NVRM: make sure that this kernel module and all NVIDIA driver + Oct 24 11:16:04 pc7377 kernel: NVRM: components have the same version. + Oct 24 11:16:05 pc7377 gdm[6706]: gdm_slave_xioerror_handler: Fatal X error - Restarting :0 + Oct 24 11:16:09 pc7377 kernel: NVRM: API mismatch: the client has the version 169.12, but + Oct 24 11:16:09 pc7377 kernel: NVRM: this kernel module has the version 100.14.19. Please + Oct 24 11:16:09 pc7377 kernel: NVRM: make sure that this kernel module and all NVIDIA driver + Oct 24 11:16:09 pc7377 kernel: NVRM: components have the same version. + Oct 24 11:16:10 pc7377 gdm[3734]: gdm_slave_xioerror_handler: Fatal X error - Restarting :0 + Oct 24 11:16:13 pc7377 kernel: NVRM: API mismatch: the client has the version 169.12, but + Oct 24 11:16:13 pc7377 kernel: NVRM: this kernel module has the version 100.14.19. Please + Oct 24 11:16:13 pc7377 kernel: NVRM: make sure that this kernel module and all NVIDIA driver + Oct 24 11:16:13 pc7377 kernel: NVRM: components have the same version. + Oct 24 11:16:14 pc7377 gdm[3752]: gdm_slave_xioerror_handler: Fatal X error - Restarting :0 + Oct 24 11:16:14 pc7377 gdm[6489]: deal_with_x_crashes: Running the XKeepsCrashing script + ... + Oct 24 11:27:45 pc7377 kernel: nvidia: module license 'NVIDIA' taints kernel. + Oct 24 11:27:45 pc7377 kernel: ACPI: PCI Interrupt 0000:01:00.0[A] -> GSI 16 (level, low) -> IRQ 169 + Oct 24 11:27:45 pc7377 kernel: NVRM: loading NVIDIA UNIX x86 Kernel Module 169.12 Thu Feb 14 17:53:07 PST 2008 + ... diff --git a/admin-guide/legacy/misc/linuxhowtolookupforpcidevicesandcorrespondingmodulesinsl5.rst b/admin-guide/legacy/misc/linuxhowtolookupforpcidevicesandcorrespondingmodulesinsl5.rst new file mode 100644 index 00000000..46f4e7dd --- /dev/null +++ b/admin-guide/legacy/misc/linuxhowtolookupforpcidevicesandcorrespondingmodulesinsl5.rst @@ -0,0 +1,131 @@ +How To Look Up For PCI Devices And Corresponding Modules in SL5 +=============================================================== + +Weblinks +-------- + +- Intel Driver Download Center: http://downloadcenter.intel.com/ + +- Intel Support Site: http://support.intel.com/support/index.htm + +- Intel Network Connectivity: http://support.intel.com/support/network/sb/cs-008441.htm + + +Procedure Description +--------------------- + +List your PCI devices, look up for the vendor and hardware ID numbers +and search the corresponding entry in the table which maps hardware +IDs to module names. + + +This might be helpful if one has a new hardware device such as a new +network card, which is not recognized by the system because of a +missing entry in the file +`/lib/modules//modules.pcimap`, which maps devices to +modules. Assumption: the required driver (module) is present. + + +Step by Step Procedure: Example For a Working Network Card +---------------------------------------------------------- + +List your PCI devices using `lscpi`:: + + # lspci + ... + 00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02) + ... + +Listing with `lspci -n` will show identification numbers instead of names:: + + # lspci -n + ... + 00:19.0 0200: 8086:10bd (rev 02) + ... + +- a) + + `19.0 PCI device number` + +- b) + + `0200 Hardware Type "Ethernet controller"` + +- c) + + `8086 Vendor ID "Intel Corporation"` + +- d) + + `10bd Hardware ID "82566DM-2 Gigabit Network Connection"` + + +For a very verbose output use `lspci -vv`:: + + # lspci -vv | grep 00:19 -A 15 + 00:19.0 Ethernet controller: Intel Corporation 82566DM-2 Gigabit Network Connection (rev 02) + Subsystem: Fujitsu Siemens Computer GmbH Unknown device 10fd + Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- + Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- SERR- /proc/sys/net/ipv4/ip_forward + + # Director is not gw for realservers: leave icmp redirects on + echo 'setting icmp redirects (1 on, 0 off) ' + echo "1" >/proc/sys/net/ipv4/conf/all/send_redirects + cat /proc/sys/net/ipv4/conf/all/send_redirects + echo "1" >/proc/sys/net/ipv4/conf/default/send_redirects + cat /proc/sys/net/ipv4/conf/default/send_redirects + echo "1" >/proc/sys/net/ipv4/conf/eth0/send_redirects + cat /proc/sys/net/ipv4/conf/eth0/send_redirects + + # Add ethernet device and routing for VIP $VIP1 + /sbin/ifconfig eth0:1 $VIP1 broadcast $VIP1 netmask 255.255.255.255 + /sbin/route add -host $VIP1 dev eth0:1 + # Listing ifconfig info for VIP $VIP1 + /sbin/ifconfig eth0:1 + + # Check VIP $VIP1 is reachable from self (director) + /bin/ping -c 1 $VIP1 + # Listing routing info for VIP $VIP1 + /bin/netstat -rn + + ### + ### Setup_ipvsadm_table + ### + + # Clear ipvsadm table + /sbin/ipvsadm -C + + # Installing LVS services with ipvsadm + # Add ssh to VIP with round robin scheduling + /sbin/ipvsadm -A -t ${VIP1}:ssh -s rr + + # Forward ssh to realserver using direct routing with weight 1 + /sbin/ipvsadm -a -t ${VIP1}:ssh -r $RIP1 -g -w 1 + # Check realserver reachable from director + ping -c 1 $RIP1 + + # Forward ssh to realserver using direct routing with weight 1 + /sbin/ipvsadm -a -t ${VIP1}:ssh -r $RIP2 -g -w 1 + # Check realserver reachable from director + ping -c 1 $RIP2 + + # Set tcp timeout to 72 hours while leaving + # tcpfin and udp timeouts unchanged. + /sbin/ipvsadm --set 259200 0 0 + + # List timeout values + /sbin/ipvsadm -L --timeout + + # Displaying ipvsadm settings + /sbin/ipvsadm + + # Not installing a default gw for LVS_TYPE vs-dr + + ### + ### Delete an LVS entry + ### + # + # Example: remove/delete ssh forwarding to RIP2 + # + # /sbin/ipvsadm -d -t ${VIP1}:ssh -r RIP2 + # + # + + #---------------mini-rc.lvs_dr-director------------------------ + + +Realserver Configuration +........................ + +The realserver shall send responses not to the VIP of the load +balancer, rather to the client directly. This requires the iptables +rule below. + +Settings of realserver 2 for instance: + +`/etc/sysconfig/network-scripts/ifcfg-eth0`:: + + DEVICE=eth0 + BOOTPROTO=none + HWADDR=00:06:5B:8C:3C:8E + ONBOOT=yes + TYPE=Ethernet + DHCP_HOSTNAME=llc6 + PEERDNS=yes + IPADDR=129.129.190.176 + NETMASK=255.255.255.0 + GATEWAY=129.129.190.1 + USERCTL=no + IPV6INIT=no + + +`/etc/sysconfig/network`:: + + NETWORKING=yes + HOSTNAME=llc6 + + +`/etc/sysconfig/lvs`:: + + # LVS configuration file for LLC and LLCX + VIP=129.129.190.54 + + +`/etc/init.d/lvs`:: + + #! /bin/sh + # + # chkconfig: 345 90 10 + # description: Startscript to initialize this machine as an lvs real server. + + # Get network configuration + . /etc/sysconfig/network + # Get functions + . /etc/rc.d/init.d/functions + # Get VIP from the LVS configuration file + . /etc/sysconfig/lvs + + # Check that networking is up + if [ ${NETWORKING} = "no" ] ; then + exit 0 + fi + + RETVAL=0 + + # See how we were called. + case "$1" in + start) + # Add rule + echo "Starting load balancing mechanism with NAT iptables " + /sbin/iptables -t nat -A PREROUTING -d $VIP -j REDIRECT + ;; + stop) + # Delete rule + echo "Stopping load balancing mechanism with NAT iptables " + /sbin/iptables -t nat -D PREROUTING -d $VIP -j REDIRECT + ;; + *) + echo "Usage: $0 {start|stop}" + exit 1 + ;; + esac + + exit $RETVAL + + +Update Procedure +---------------- + +Director Update +~~~~~~~~~~~~~~~ + +Login to llclb1 as root and run yum update:: + + # yum clean all + # yum update + +Then reboot the director:: + + # reboot + +After rebooting no lvs rules are set by default:: + + [root@llclb1 ~]# ipvsadm -L + IP Virtual Server version 1.2.1 (size=4096) + Prot LocalAddress:Port Scheduler Flags + -> RemoteAddress:Port Forward Weight ActiveConn InActConn + +As soon as the realservers are updated and rebooted, too (see next +section), run the lvs setup script to initialize the lvs rules for the +ssh loadbalancing:: + + # sh /etc/setup-LVS-DR-director.conf + + + 0 + setting icmp redirects (1 on, 0 off) + 1 + 1 + 1 + SIOCADDRT: File exists + eth0:1 Link encap:Ethernet HWaddr 00:14:5E:6B:13:3E + inet addr:129.129.190.54 Bcast:129.129.190.54 Mask:255.255.255.255 + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + Interrupt:169 Memory:d8300000-d8310000 + + PING 129.129.190.54 (129.129.190.54) 56(84) bytes of data. + 64 bytes from 129.129.190.54: icmp_seq=1 ttl=64 time=0.053 ms + + --- 129.129.190.54 ping statistics --- + 1 packets transmitted, 1 received, 0% packet loss, time 0ms + rtt min/avg/max/mdev = 0.053/0.053/0.053/0.000 ms + Kernel IP routing table + Destination Gateway Genmask Flags MSS Window irtt Iface + 129.129.190.54 0.0.0.0 255.255.255.255 UH 0 0 0 eth0 + 129.129.190.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 + 169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 + 0.0.0.0 129.129.190.1 0.0.0.0 UG 0 0 0 eth0 + PING 129.129.190.175 (129.129.190.175) 56(84) bytes of data. + 64 bytes from 129.129.190.175: icmp_seq=1 ttl=64 time=2.13 ms + + --- 129.129.190.175 ping statistics --- + 1 packets transmitted, 1 received, 0% packet loss, time 0ms + rtt min/avg/max/mdev = 2.139/2.139/2.139/0.000 ms + PING 129.129.190.176 (129.129.190.176) 56(84) bytes of data. + 64 bytes from 129.129.190.176: icmp_seq=1 ttl=64 time=0.172 ms + + --- 129.129.190.176 ping statistics --- + 1 packets transmitted, 1 received, 0% packet loss, time 0ms + rtt min/avg/max/mdev = 0.172/0.172/0.172/0.000 ms + Timeout (tcp tcpfin udp): 259200 120 300 + IP Virtual Server version 1.2.1 (size=4096) + Prot LocalAddress:Port Scheduler Flags + -> RemoteAddress:Port Forward Weight ActiveConn InActConn + TCP llc.psi.ch:ssh rr + -> llc6.psi.ch:ssh Route 1 1 1 + -> llc5.psi.ch:ssh Route 1 0 0 + + +Realserver Update +~~~~~~~~~~~~~~~~~ + +The realservers should be updated automatically as they are standard +SL desktop hosts. Login as root to the corresponding realserver, +e.g. llc5, and verify that the update was performed correctly, if not +fix it first. + +Then reboot the realserver. The iptables rule for the direct routing +are initialized automatically by the init script /etc/init.d/lvs:: + + # reboot + +Eventually, test the ssh connection from any client to llc:: + + # [anyuser@anyhost] ssh llc + diff --git a/admin-guide/legacy/misc/nxserverclientinstallation.rst b/admin-guide/legacy/misc/nxserverclientinstallation.rst new file mode 100644 index 00000000..e24abe47 --- /dev/null +++ b/admin-guide/legacy/misc/nxserverclientinstallation.rst @@ -0,0 +1,164 @@ +NX Server/Client Installation +============================= + +References +---------- + +- http://freenx.berlios.de/ + +- http://nomachine.com/ + +- http://wiki.centos.org/HowTos/FreeNX/ + + +Introduction +------------ + +This document describes the setup of an NX server/client +infrastructure on SL54. + +First, a more generic installation procedure is illustrated, second, +the PSI default nx server/client setup is shown. + +Generic Installation +-------------------- + +NX Server +~~~~~~~~~ + +Required Packages +................. + +- nx +- freenx + +The packages were found in the centos-extras repository. One can use +the following yum repo file, for instance. + +File `/etc/yum.repos.d/centos-extras.repo`:: + + [centos-extras] + name=Centos Extras for SL5.5 + baseurl=ftp://mirror.switch.ch/mirror/centos/5.5/extras/$basearch/ + enabled=0 + +Procedure +......... + +Install the required packages on your platform, i386 or x86_64:: + + # yum --enablerepo centos-extras install freenx + +Now, generate the ssh keys:: + + # nxkeygen + +The keys are stored in `/etc/nxserver` and in the home directory of +the nx user account:: + + # cd /var/lib/nxserver/home/ + # ls -l .ssh/ + -rw------- 1 nx root 672 Oct 22 16:28 authorized_keys2 + -rw------- 1 nx root 672 Oct 22 16:28 client.id_dsa.key + -rwx------ 1 nx root 392 Oct 22 16:14 known_hosts + -rw------- 1 nx root 605 Oct 22 16:28 server.id_dsa.pub.key + +The private key `client.id_dsa.key` has to be copied to the nx client +(see next section). + +NX Client +~~~~~~~~~ + +Required Packages +................. + +- nxclient + + +Procedure +......... + +NoMachine does not allow the distribution of their client, so it must +be downloaded from their website at http://nomachine.com/. + +After downloading install it:: + + # rpm -ivh nxclient-3.4.0-7.i386.rpm + +Get the private ssh key of user nx from the server and copy it to the +client:: + + # [root@server] + # scp /var/lib/nxserver/home/.ssh/client.id_dsa.key client:/usr/NX/share/keys/ + +Create the following symbolic link to the key on the client:: + + # [root@client] + # cd /usr/NX/share/keys/ + # ln -s client.id_dsa.key server.id_dsa.key + +Now, you can login to the nx server:: + + # nxclient + + +PSI Installation +---------------- + +The difference between the generic and the PSI installation is, that +the NX packages can be installed from our local repository. Further, +the PSI default keys are part of this installation, i.e. installing +the RPMS sets up a working NX server/client environment. + + +NX Server +~~~~~~~~~ + +Required Packages +................. + +- nx +- freenx +- freenx-psi + + +Currently the server packages are available from the SL54 psi-beta +repository, while the client packages are located in the PSI nonfree +repo. + +Procedure +......... + +File `/etc/yum.repos.d/psi-beta.repo`:: + + [psi-beta] + name=54 psi beta + baseurl=http://linux.web.psi.ch/dist/scientific/54/beta/ + enabled=0 + +Install freenx, nx and freenx-psi on the server:: + + # yum --enablerepo psi-beta install freenx nx freenx-psi + +NX Client +~~~~~~~~~ + +Required Packages +................. + +- nxclient +- nxclient-psi + + +Procedure +......... + +Install nxclient and nxclient-psi on the client host:: + + # yum install nxclient nxclient-psi + + +Now, you can login to the nx server:: + + # nxclient + diff --git a/admin-guide/legacy/misc/prepareanewslrelease.rst b/admin-guide/legacy/misc/prepareanewslrelease.rst new file mode 100644 index 00000000..24d70528 --- /dev/null +++ b/admin-guide/legacy/misc/prepareanewslrelease.rst @@ -0,0 +1,162 @@ +Prepare a new release +===================== + +Introduction +------------ + +This document describes the preparation of a new SLP major or minor +release for SL >= 5.4. + +Requirements +------------ + +Before you start you need a clean copy of the original SL repositories +of interest from http://www.scientificlinux.org. + +The SL repositories shall be mirrored to our AFS mirror on its own +volume, e.g. `/afs/psi.ch/software/mirror/scientific/54/` is on AFS +volume `sw.mirror.sl54.nb`. + +However, the mirror is usually made automatically by the script +`/afs/psi.ch/software/mirror/scripts/mirror.sh` which is run by cron +on pxeserv01. To add a new distribution to the mirror script you have +to edit the file `/afs/psi.ch/software/mirror/scripts/mirror.conf`. + +You also need a separate AFS distribution volume, e.g. `sw.dist.sl54` +for `/afs/psi.ch/software/linux/dist/scientific/54`. + +Once this is done, you're ready to start with the Procedure section. + + +Procedure +--------- + +1. Go to the SL distribution B directory, change to the + subdirectory `scripts` and run the following scripts:: + + # cd /afs/psi.ch/software/linux/dist/scientific/ + # cd scripts/Sl60/ + # sh 1-create_the_new_dist-config_file.sh + # sh 2-copy_the_kernel_and_initrd_for_tftp_boot.sh + # sh 3-copy_the_puppet_environment_for_desktop.sh # If a new one should be used, + # usually only for major release + # changes + # Note: Some of the files might need some manual customization, e.g. + # + # module_gdm (pictures) + # module_splash (pictures) + # module_background_image (pictures) + # module_buildsystem + + + # sh 4-create_new_dist_directory_structure.sh + + ### Check and edit the new files if necessary, especially the following ones: + # scripts/dist-config + # scripts/KERNEL_MODULES_TO_BUILD/sl6.i386.kms-to-be-built + # scripts/KERNEL_MODULES_TO_BUILD/sl6.x86_64.kms-to-be-built + # scripts/build-gpfs.sl6x.sh + # scripts/build-openafs.sl6x.i686.sh + # scripts/build-openafs.sl6x.x86_64.sh + # scripts/copy_the_sl_base_repos_from_the_local_mirror.sh + # scripts/rsync_security_updates_to_all_directories.sh + + is the distribution which serves as a template for + . + + The scripts will prepare most of the stuff automatically based on + the previous version. Some of the new files, however, still have to + be edited manually. + +2. Go to the SL distribution directory, change to the subdirectory + `scripts` and run the following scripts:: + + # cd /afs/psi.ch/software/linux/dist/scientific/60/scripts/ + + 2.1 Copy the SL Base Repos + + The script below copies the sl6base repository from the mirror on + AFS to the dist SL6 directory taking into account the + `rsync_exclude.rpmlist`, i.e. not all RPMS will be copied. To keep + the repodata consistent with the RPMS in the Packages directory, + the repodata has to be updated, too, by running the second script + shown here:: + + # sh copy_the_sl_base_repos_from_the_local_mirror.sh + # sh run_createrepo_on_base_i386.sh #sl64: still to do + # sh run_createrepo_on_base_x86_64.sh #sl64: still to do + + 2.2 Copy the Security Updates:: + + # sh rsync_security_updates_to_all_directories.sh + + 2.3 Build kernel module if minor release + + If you prepare a new major release skip this section. + + If you prepare a new minor release you already have build systems + where you can build kernel modules. + + Thus check whether you have to build at least the openafs and the + gpfs modules. If the kernel versions of this and the previous SL + minor versions do not differ you should already have the modules + copied to e.g. the nonfree and psi repos, then there's nothing to + do here. + + 2.4 Update The Symbolic Links in RPMS_all:: + + # sh update_symlinks_in_RPMS_all.sh + +3. Create new snaphots, release UNSTABLE and set the initial PSI + version. + + # ./create_new_snapshots.sh alldirs > \ + # INITIAL_LOG/2011-02-25-create_new_snapshots.log 2>&1 + # ./release_unstable.sh + # ./create_new_psi_version.sh + # ./create_file_psiversion-info.sh + +6. Write the new kickstart conig files. + + Goto the kickstart config directory and use one of the old + kickstart config files as a template:: + + # cd /afs/psi.ch/software/linux/kickstart/configs/ + +8. Make the new entries in the tftpd file. + + Goto the tftpd directory and edit the file default:: + + # cd /afs/psi.ch/service/linux/tftpboot/pxelinux.cfg/ + # vi default + + #<<< sl64: hereiam: + #<<< to do: fix /usr/bin/psi-fix_file_permission, module_localadmin + +9. Now perform first installation tests and debug where necessary. + +10. If you prepare a new major release, install new build systems. + +12. If you prepare a new major release, go to + `/afs/psi.ch/project/linux/dist` and create the directory + structure below for the RPM build environment:: + + slp6 + |-- RPMS/ + | |-- i386/ + | |-- i486/ + | |-- i586/ + | |-- i686/ + | |-- noarch/ + | `-- x86_64/ + `-- SRPMS/ + +14. Build kernel modules. + +15. Also get new software versions for non SL repos (psi, others, + etc.). + +16. Again create new snapshots and a new PSI version. + +17. Now perform the second test installation and debugging suite. + diff --git a/admin-guide/legacy/misc/projectpsi-puppet1.rst b/admin-guide/legacy/misc/projectpsi-puppet1.rst new file mode 100644 index 00000000..867a8f07 --- /dev/null +++ b/admin-guide/legacy/misc/projectpsi-puppet1.rst @@ -0,0 +1,1070 @@ +Project `psi-puppet1` +===================== + +Introduction +------------ + +This document describes the relaunch of the puppet service +infrastructure at PSI. + +The whole project can be divided into two parts: + +- The hard- and software setup for the puppet server and client. + (Described in this document.) + +- Implementation of the configuration for puppet clients. (Described + in [[PuppetManifestsForSL53][Puppet Manifests For SL53]].) + + +Objectives +---------- + +- To get a stable, scalable and easy to manage puppet service + infrastructure. + +- To gain a better overview of the various client configurations + configured by puppet. + +- To keep a clear and up-to-date documentation. + +- To keep the different configurations of the different SL releases + separated from each other, e.g. SL 5.1 does not overlap with SL 5.3. + +- Also other users from AIT and GFA than the puppet administrator + should have the possibility to use puppet to configure their hosts. + +- The different client configurations of the different puppet users + must not interfere with each other. + +- To manage the changes to manifests and client configuration files. + +- Easy recovery of files in case of data loss. + +- Easy and fast reinstallation of an identical puppet server in case + of an irreparable server crash. + + +Description of the Basic Server Setup +------------------------------------- + +- Hardware + + Dell Power Edge 1750 + +- Operating System + + SL51 32 bit Server + +- Network configuration + + Static IP for Production Server: 129.129.190.174/24 + Hostname: psi-puppet1.psi.ch + +- Required RPMS + + - puppet-server (http://download.fedora.redhat.com/pub/epel/5/i386/repoview/) + - augeas-libs + - facter + - puppet (http://download.fedora.redhat.com/pub/epel/5/i386/repoview/) + - ruby + - ruby-augeas + - ruby-libs + - ruby-shadow + - ruby-irb (required for reading help) + - ruby-rdoc (required for reading help) + + +Procedure +--------- + +Create a Repository for Puppet Related RPMS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +First make the directory in the SL51 installation tree:: + + # mkdir /afs/psi.ch/software/linux/dist/scientific/51/puppet-0247 + +Add the following RPMS to this repository and run `createrepo`:: + + puppet-server-0.24.7-4.el5.noarch.rpm + augeas-libs-0.3.5-1.el5.i386.rpm + facter-1.5.2-2.el5.noarch.rpm + puppet-0.24.7-4.el5.noarch.rpm + ruby-augeas-0.2.0-1.el5.i386.rpm + ruby-shadow-1.4.1-7.el5.i386.rpm + + # cd /afs/psi.ch/software/linux/dist/scientific/51/puppet-0247 + # createrepo . + +To enable the access to this repo create the yum repo file +`/etc/yum.repos.d/puppet-0247.repo` on the puppet server:: + + [puppet-0247] + name=puppet-0247 for SL5 + baseurl=http://linux.web.psi.ch/dist/scientific/5/puppet-0247/ + enabled=1 + + +Setup The Puppet Server +~~~~~~~~~~~~~~~~~~~~~~~ + +Basic Server Installation +......................... + +Install SL51, class Server via PXE boot and kickstart. + + +Puppet-Server Installation +.......................... + +Install `puppet-server` with yum. This will also draw the required +dependencies:: + + # [root@psi-puppet1] + # yum install puppet-server + + ... + Finished Kernel Module Plugin + + Dependencies Resolved + + ============================================================================= + Package Arch Version Repository Size + ============================================================================= + Installing: + puppet-server noarch 0.24.7-4.el5 puppet-0247 25 k + Installing for dependencies: + augeas-libs i386 0.3.5-1.el5 puppet-0247 151 k + facter noarch 1.5.2-2.el5 puppet-0247 41 k + puppet noarch 0.24.7-4.el5 puppet-0247 548 k + ruby i386 1.8.5-5.el5_2.6 sl5update 279 k + ruby-augeas i386 0.2.0-1.el5 puppet-0247 17 k + ruby-libs i386 1.8.5-5.el5_2.6 sl5update 1.6 M + ruby-shadow i386 1.4.1-7.el5 puppet-0247 9.5 k + + Transaction Summary + ============================================================================= + Install 8 Package(s) + Update 0 Package(s) + Remove 0 Package(s) + ... + + +Configure The Puppet Server +........................... + +The configuration files of the puppet server, directory +`/etc/puppet/`, are stored locally. + +The puppet client configuration files are stored on AFS. The mountpoint on +psi-puppet1 is `/var/puppet/environments`, thus +create the directory `/var/puppet/environments`. + + # mkdir -p /var/puppet/environments + +For how to mount the AFS see section `Mount AFS Volumes` below. + +The client configuration files in /var/puppet/environments are +described at [[PuppetManifestsForSL53][Puppet Manifests For SL53]]. + +The log is on the local disk in `/var/log/puppet`. +To set the logfile edit the line `PUPPETMASTER_OPTS` +in `/etc/rc.d/init.d/puppetmaster`. For testing also the +debug option `-d` is enabled:: + + PUPPETMASTER_OPTS="-v -d -l /var/log/puppet/puppetmaster.log" + +Config file `puppet.conf`:: + + ########################################################################### + # $Header: /etc/puppet/RCS/puppet.conf,v 1.3 2009/09/07 18:11:17 root Exp root $ + # + # Puppetmaster Environments + # ========================= + # + # Ref.: http://reductivelabs.com/trac/puppet/wiki/UsingMultipleEnvironments + # + # Marc Gasser, PSI + # last modified 2011-11-18 + # + ############################################################################ + [main] + # Where Puppet stores dynamic and growing data. + # The default value is '/var/puppet'. + vardir = /var/puppet + + # The Puppet log directory. + # The default value is '$vardir/log'. + # logdir = /afs/psi.ch/service/linux/puppet/var/log + logdir = /var/log/puppet + + # Where Puppet PID files are kept. + # The default value is '$vardir/run'. + rundir = /var/run/puppet + + # Where SSL certificates are kept. + # The default value is '$confdir/ssl'. + ssldir = $vardir/ssl + + # Whether log files should always flush to disk. + # The default value is false + autoflush = true + + + + [puppetmasterd] + reports = store + #reports = store , tagmail, rrdgraph + + # tagmap = $confdir/tagmail.conf + + #rrddir = $vardir/rrd + #rrdinterval = $runinterval + #rrdgraph = true + + [puppetd] + # The file in which puppetd stores a list of the classes + # associated with the retrieved configuratiion. Can be loaded in + # the separate ``puppet`` executable using the ``--loadclasses`` + # option. + # The default value is '$confdir/classes.txt'. + classfile = $vardir/classes.txt + + # Where puppetd caches the local configuration. An + # extension indicating the cache format is added automatically. + # The default value is '$confdir/localconfig'. + localconfig = $vardir/localconfig + + # Note: The port that the client daemon listens on, defaults to + # 8139. However, at PSI we run puppetd via the psi-puppet + # script with run onetime option enabled. + # psi-puppet is triggered by cron. + + ######################### + ####### SL 5 ######## + ######################### + + ### begin{ SL 5 (SL54), gasser_m + [DesktopSL5Unstable] + manifest = /var/puppet/environments/DesktopSL5Unstable/manifests/site.pp + modulepath = /var/puppet/environments/DesktopSL5Unstable/modules + + [ServerSL5Unstable] + manifest = /var/puppet/environments/ServerSL5Unstable/manifests/site.pp + modulepath = /var/puppet/environments/ServerSL5Unstable/modules + + [DesktopSL5Testing] + manifest = /var/puppet/environments/DesktopSL5Testing/manifests/site.pp + modulepath = /var/puppet/environments/DesktopSL5Testing/modules + + [DesktopSL5Stable] + manifest = /var/puppet/environments/DesktopSL5Stable/manifests/site.pp + modulepath = /var/puppet/environments/DesktopSL5Stable/modules + + [CPT] + manifest = /var/puppet/environments/CPT/manifests/site.pp + modulepath = /var/puppet/environments/CPT/modules + + ###}end SL 5 (SL54), gasser_m + + ### V.M. for sl53-c-ks.cfg + [CnodeSL5] + manifest = /var/puppet/environments/CnodeSL5/manifests/site.pp + modulepath = /var/puppet/environments/CnodeSL5/modules + + [PHServerSL5] + manifest = /var/puppet/environments/PHServerSL5/manifests/site.pp + modulepath = /var/puppet/environments/PHServerSL5/modules + + [EdgarDevelopment] + manifest = /var/puppet/environments/EdgarDevelopment/manifests/site.pp + modulepath = /var/puppet/environments/EdgarDevelopment/modules + + [DerekDevelopment] + manifest = /var/puppet/environments/DerekDevelopment/manifests/site.pp + modulepath = /var/puppet/environments/DerekDevelopment/modules + + [cray] + manifest = /var/puppet/environments/cray/manifests/site.pp + modulepath = /var/puppet/environments/cray/modules + + + ### begin Heiner{ + [HeinerDevelopment] + manifest = /var/puppet/environments/HeinerDevelopment/manifests/site.pp + modulepath = /var/puppet/environments/HeinerDevelopment/modules + [HeinerDevelopment54] + manifest = /var/puppet/environments/HeinerDevelopment54/manifests/site.pp + modulepath = /var/puppet/environments/HeinerDevelopment54/modules + [GFA] + manifest = /var/puppet/environments/GFA/manifests/site.pp + modulepath = /var/puppet/environments/GFA/modules + ### }end Heiner + + ### begin Rene{ + [GFADesktopSL5] + manifest = /var/puppet/environments/GFADesktopSL5/manifests/site.pp + modulepath = /var/puppet/environments/GFADesktopSL5/modules + + [GFADesktopSL6] + manifest = /var/puppet/environments/GFADesktopSL6/manifests/site.pp + modulepath = /var/puppet/environments/GFADesktopSL6/modules + ### }end Rene + + ### Services + [Web] + manifest = /var/puppet/environments/Web/manifests/site.pp + modulepath = /var/puppet/environments/Web/modules + + [Virtual] + manifest = /var/puppet/environments/Virtual/manifests/site.pp + modulepath = /var/puppet/environments/Virtual/modules + + [News] + manifest = /var/puppet/environments/News/manifests/site.pp + modulepath = /var/puppet/environments/News/modules + + [MySQL] + manifest = /var/puppet/environments/MySQL/manifests/site.pp + modulepath = /var/puppet/environments/MySQL/modules + + [Loadbalancer] + manifest = /var/puppet/environments/Loadbalancer/manifests/site.pp + modulepath = /var/puppet/environments/Loadbalancer/modules + + [LlcLoadbalancer] + manifest = /var/puppet/environments/LlcLoadbalancer/manifests/site.pp + modulepath = /var/puppet/environments/LlcLoadbalancer/modules + + [License] + manifest = /var/puppet/environments/License/manifests/site.pp + modulepath = /var/puppet/environments/License/modules + + [FTP] + manifest = /var/puppet/environments/FTP/manifests/site.pp + modulepath = /var/puppet/environments/FTP/modules + + [Elog] + manifest = /var/puppet/environments/Elog/manifests/site.pp + modulepath = /var/puppet/environments/Elog/modules + + [Cups] + manifest = /var/puppet/environments/Cups/manifests/site.pp + modulepath = /var/puppet/environments/Cups/modules + + [Archive] + manifest = /var/puppet/environments/Archive/manifests/site.pp + modulepath = /var/puppet/environments/Archive/modules + + + ######################### + ####### SL 6 ######## + ######################### + + ### begin{ SL 6 (gasser_m) + [DesktopSL6Unstable] + manifest = /var/puppet/environments/DesktopSL6Unstable/manifests/site.pp + modulepath = /var/puppet/environments/DesktopSL6Unstable/modules + + [DesktopSL6Testing] + manifest = /var/puppet/environments/DesktopSL6Testing/manifests/site.pp + modulepath = /var/puppet/environments/DesktopSL6Testing/modules + + [DesktopSL6Stable] + manifest = /var/puppet/environments/DesktopSL6Stable/manifests/site.pp + modulepath = /var/puppet/environments/DesktopSL6Stable/modules + + ###}end SL 6 (gasser_m) + + ### Markushin + [CnodeSL6] + manifest = /var/puppet/environments/CnodeSL6/manifests/site.pp + modulepath = /var/puppet/environments/CnodeSL6/modules + + +Config file `fileserver.conf`:: + + # This file consists of arbitrarily named sections/modules + # defining where files are served from and to whom + + # Define a section 'files' + # Adapt the allow/deny settings to your needs. Order + # for allow/deny does not matter, allow always takes precedence + # over deny + # [files] + # path /var/lib/puppet/files + # allow *.example.com + # deny *.evil.example.com + # allow 192.168.0.0/24 + + + #[facts] + # path /etc/puppet/facts + # allow *.psi.ch + + [GFA5] + path /afs/psi.ch/project/slscomp/puppet/gfa5 + allow *.psi.ch + + [GFA6] + path /afs/psi.ch/project/slscomp/puppet/gfa6 + allow *.psi.ch + + +Mount AFS Volumes on Puppet Server +.................................. + +The puppet manifests for clients are located on AFS:: + + /afs/psi.ch/service/linux/puppet/var/puppet/environments/ + +AFS is already mounted as `/afs` in this default SL5 server installation:: + + # mount + ... + AFS on /afs type afs (rw) + +Now, we want to remount +`/afs/psi.ch/service/linux/puppet/var/puppet/environments` on +`/var/puppet/environments`. Therefor the mount option `bind` is used, +which facilitates to remount parts of already mounted filesystems on +an alternative location in the file hierarchy. + +The server also needs the permission on AFS to mount the environments +directory. Add the new server to the AFS group +svc.linux:puppet_hosts:: + + # pts ad -u -g svc.linux:puppet_hosts + +As shown below we do the remount in `/etc/rc.local`, which is executed +after all the other init scripts:: + + #!/bin/sh + + touch /var/lock/subsys/local + + # Puppet + mount -o bind /afs/psi.ch/service/linux/puppet/etc/puppet/environments /var/puppet/environments + + # Restart Services depending on afs mounts + /etc/init.d/puppetmaster restart + +Before the `rc.local` script can be applied the proper AFS permissions +have to be set to make the files readable for psi-puppet1. This was +done already before, see topic +[[PuppetServerPsiPuppet2ForSl51#4_1_3_Mount_AFS_Volumes_on_Puppe][Puppet +Server Psi Puppet 2 For SL51]], so we only have to put the IP address +of psi-puppet1 to the AFS group `svc_linux:puppet_hosts`:: + + # pts adduser 129.129.190.174 svc_linux:puppet_hosts + +Configuring Puppet Reporting +............................ + +There are a number of different report processors available on the +puppetmaster. The default report, store, simply stores the report file +on the disk. + +By default, each client is configured not to report back to the +master. It has to be enabled either by the report option in +`puppet.conf` or using `--report` on the command line. + +`/etc/puppet/puppet.conf`:: + + [puppetd] + report = true + +Command line:: + + # puppetd --report + +Store Report Processor +,,,,,,,,,,,,,,,,,,,,,, + +Enable the store reports by using the `reports` +configuration option in the puppemasterd section of the +`puppet.conf` file on the master. + +`/etc/puppet/puppet.conf`:: + + [puppetmasterd] + reports = store + +The default reports directory is `$vardir/reports`. + +Tagmail Report Processor +,,,,,,,,,,,,,,,,,,,,,,,, + +Enable the tagmail reports by using the `reports` configuration option +in the puppemasterd section of the `puppet.conf` file on the +master. The `tagmail.conf` file contains a list of tags and email +adresses. The special tags all and err are defined implicitly. + +`/etc/puppet/puppet.conf`:: + + [puppetmasterd] + reports = tagmail + tagmap = $confdir/tagmail.conf + +`/etc/puppet/tagmail.conf`:: + + all: marc.gasser@psi.ch + err: marc.gasser@psi.ch + + +Rrdgraph Report Processors +,,,,,,,,,,,,,,,,,,,,,,,,,, + +To enable the `rrdgraph` reports, `rrdtool` and `rrdtool-ruby` +packages have to be installed. + +Download the packages from the following repository: +`/etc/yum.repos.d/epeli386.repo`:: + + [epeli386] + name=epel i386 + baseurl=http://download.fedora.redhat.com/pub/epel/5/i386/ + enabled=0 + + + # yumdownloader --enablerepo=epeli386 rrdtool.i386 rrdtool-ruby.i386 + # yum install rrdtool-1.2.27-3.el5.i386.rpm + # yum install rrdtool-ruby-1.2.27-3.el5.i386.rpm + +You might want to put them to your local repository, too. + +**Note**: For the time being put them to `psi-beta`, because they +break dependencies in the other repositories. + +Then, configure `puppet.conf` by adding the lines shown below in the +corresponding section. Here store, tagmail and rrdgraph are enabled. + +`/etc/puppet/puppet.conf`:: + + [puppetmasterd] + reports = store, tagmail, rrdgraph + + rrddir = $vardir/rrd + rrdinterval = $runinterval + rrdgraph = true + +Install The Ganglia Monitor Daemon +.................................. + +Install `ganglia-gmond-3.0.6-4.slp5` and add the configuration +`/etc/gmond.conf` file as shown below:: + + /* This configuration is as close to 2.5.x default behavior as possible + The values closely match ./gmond/metric.h definitions in 2.5.x */ + globals { + daemonize = yes + setuid = yes + user = nobody + debug_level = 0 + max_udp_msg_len = 1472 + mute = no + deaf = no + host_dmax = 0 /*secs */ + cleanup_threshold = 300 /*secs */ + gexec = no + } + + /* If a cluster attribute is specified, then all gmond hosts are wrapped inside + * of a tag. If you do not specify a cluster tag, then all will + * NOT be wrapped inside of a tag. */ + cluster { + name = "puppet" + owner = "unspecified" + latlong = "unspecified" + url = "unspecified" + } + + /* The host section describes attributes of the host, like the location */ + host { + location = "unspecified" + } + + /* Feel free to specify as many udp_send_channels as you like. Gmond + used to only support having a single channel */ + udp_send_channel { + mcast_join = 239.129.190.89 + port = 8649 + } + + /* You can specify as many udp_recv_channels as you like as well. */ + udp_recv_channel { + mcast_join = 239.129.190.89 + port = 8649 + bind = 239.129.190.89 + } + + # udp_recv_channel { + # host = "puppet" + # port = 8649 + # } + + /* You can specify as many tcp_accept_channels as you like to share + an xml description of the state of the cluster */ + tcp_accept_channel { + port = 8649 + } + + + /* The old internal 2.5.x metric array has been replaced by the following + collection_group directives. What follows is the default behavior for + collecting and sending metrics that is as close to 2.5.x behavior as + possible. */ + + /* This collection group will cause a heartbeat (or beacon) to be sent every + 20 seconds. In the heartbeat is the GMOND_STARTED data which expresses + the age of the running gmond. */ + collection_group { + collect_once = yes + time_threshold = 20 + metric { + name = "heartbeat" + } + } + + /* This collection group will send general info about this host every 1200 secs. + This information doesn't change between reboots and is only collected once. */ + collection_group { + collect_once = yes + time_threshold = 1200 + metric { + name = "cpu_num" + } + metric { + name = "cpu_speed" + } + metric { + name = "mem_total" + } + /* Should this be here? Swap can be added/removed between reboots. */ + metric { + name = "swap_total" + } + metric { + name = "boottime" + } + metric { + name = "machine_type" + } + metric { + name = "os_name" + } + metric { + name = "os_release" + } + metric { + name = "location" + } + } + + /* This collection group will send the status of gexecd for this host every 300 secs */ + /* Unlike 2.5.x the default behavior is to report gexecd OFF. */ + collection_group { + collect_once = yes + time_threshold = 300 + metric { + name = "gexec" + } + } + + /* This collection group will collect the CPU status info every 20 secs. + The time threshold is set to 90 seconds. In honesty, this time_threshold could be + set significantly higher to reduce unneccessary network chatter. */ + collection_group { + collect_every = 20 + time_threshold = 90 + /* CPU status */ + metric { + name = "cpu_user" + value_threshold = "1.0" + } + metric { + name = "cpu_system" + value_threshold = "1.0" + } + metric { + name = "cpu_idle" + value_threshold = "5.0" + } + metric { + name = "cpu_nice" + value_threshold = "1.0" + } + metric { + name = "cpu_aidle" + value_threshold = "5.0" + } + metric { + name = "cpu_wio" + value_threshold = "1.0" + } + /* The next two metrics are optional if you want more detail... + ... since they are accounted for in cpu_system. + metric { + name = "cpu_intr" + value_threshold = "1.0" + } + metric { + name = "cpu_sintr" + value_threshold = "1.0" + } + */ + } + + collection_group { + collect_every = 20 + time_threshold = 90 + /* Load Averages */ + metric { + name = "load_one" + value_threshold = "1.0" + } + metric { + name = "load_five" + value_threshold = "1.0" + } + metric { + name = "load_fifteen" + value_threshold = "1.0" + } + } + + /* This group collects the number of running and total processes */ + collection_group { + collect_every = 80 + time_threshold = 950 + metric { + name = "proc_run" + value_threshold = "1.0" + } + metric { + name = "proc_total" + value_threshold = "1.0" + } + } + + /* This collection group grabs the volatile memory metrics every 40 secs and + sends them at least every 180 secs. This time_threshold can be increased + significantly to reduce unneeded network traffic. */ + collection_group { + collect_every = 40 + time_threshold = 180 + metric { + name = "mem_free" + value_threshold = "1024.0" + } + metric { + name = "mem_shared" + value_threshold = "1024.0" + } + metric { + name = "mem_buffers" + value_threshold = "1024.0" + } + metric { + name = "mem_cached" + value_threshold = "1024.0" + } + metric { + name = "swap_free" + value_threshold = "1024.0" + } + } + + collection_group { + collect_every = 40 + time_threshold = 300 + metric { + name = "bytes_out" + value_threshold = 4096 + } + metric { + name = "bytes_in" + value_threshold = 4096 + } + metric { + name = "pkts_in" + value_threshold = 256 + } + metric { + name = "pkts_out" + value_threshold = 256 + } + } + + /* Different than 2.5.x default since the old config made no sense */ + collection_group { + collect_every = 1800 + time_threshold = 3600 + metric { + name = "disk_total" + value_threshold = 1.0 + } + } + + collection_group { + collect_every = 40 + time_threshold = 180 + metric { + name = "disk_free" + value_threshold = 1.0 + } + metric { + name = "part_max_used" + value_threshold = 1.0 + } + } + + # /etc/init.d/gmond start + + +See puppet at http://129.129.190.27/ganglia/. For the ganglia server +configuration ask Valeri Markushin. + + +Install The Networker Backup Client (Legato) +............................................ + +References: + +- [[http://ait.web.psi.ch/services/central_backup/][Information for Backup Client Administrators]] + +- [[http://ait.web.psi.ch/services/central_backup/nsr_install_lnx.html][Networker Client installation on Linux ]] + +Install the Networker client packages, the client itself and the +manual pages. By default `yum` calculates a lot of dependencies +required for the GUI of Networker, which facilitates the +restore. However, the restore can also be done using the command line +interface, thus the whole X installation shall be skipped. To do so, +the packages have to be installed without dependencies. + +Because `yum` does not provide an installation without dependencies, +`yumdownloader` is used to fetch the packages and `rpm -i --nodeps` to +install them. + +First install `yumdownloader`:: + + # yum install yum-utils + +Install the rest:: + + # yumdownloader --enablerepo=psi-beta lgtoclnt.i686 lgtoman.i686 + # rpm -ivh --nodeps lgtoclnt-7.4.2-1.i686.rpm lgtoman-7.4.2-1.i686.rpm + +Start the Networker daemon:: + + # service networker start + +The `/nsr` directory is automatically created. Add the string +`bs1.psi.ch` in the file `/nsr/res/server`. + +Restart the Networker daemon:: + + # service networker stop + # service networker start + +Now, contact the backup server administrator, Marco Kohler, so he can +add the host and the directories of interest to the backup service. + +The next steps are for facilitating the task of the backup server +administrator. + +Create the file `~/nsradmin74_x.txt` with the following three lines:: + + update administrator:"isroot,host=psi-puppet1","isroot,host=localhost","isroot,host=bs1","user=root,host=localhost","user=administrator,host=bs1" + . type: NSR System Port Ranges + update administrator:"isroot,host=psi-puppet1","isroot,host=localhost","isroot,host=bs1","user=root,host=localhost","user=administrator,host=bs1" + + +Then execute the command below and check the output:: + + # nsradmin -i ~/nsradmin74_x.txt -p nsrexec + + updated resource id 3.0.104.17.41.235.57.74.129.129.190.174(7) + updated resource id 9.0.104.17.41.235.57.74.129.129.190.174(2) + updated resource id 8.0.168.18.5.236.57.74.129.129.190.174(2) + updated resource id 9.0.168.18.5.236.57.74.129.129.190.174(2) + Current query set + updated resource id 7.0.104.17.41.235.57.74.129.129.190.174(2) + + +Finally, test if the installation was successful:: + + # service networker stop + # service networker start + # service networker status + +--o nsrexecd (5995) + +**Note**: Open files will not necessarily be considered during the +backup run. It depends on their locking state. + + +How To Update the Networker Backup Client +......................................... + +Because the Networker RPM is not cleanly packed, updating the client +requires deinstallation of the old and installation of the new +package. + +First the old `/nsr` directory has to be deleted. Then repeat the +whole procedure shown in the previous section. + +The Networker Administration Program +.................................... + +To start the Networker administration shell type the following +command:: + + # nsradmin -p nsrexec + +The Networker Recover Tool +.......................... + +Check out the manpage of `recover`:: + + # man recover + + +Setup The Puppet Client +~~~~~~~~~~~~~~~~~~~~~~~ + +At this time the only difference between the old and the new client +configuration is the name of the puppet server in the file +`/etc/puppet/puppet.conf`, `psi-puppet1` instead of `pxeserv01`. + +File `/etc/puppet/puppet.conf` on `vmmarctest1.psi.ch`:: + + [main] + vardir = /var/puppet + logdir = /var/log/puppet + rundir = /var/run/puppet + ssldir = $vardir/ssl + environment = development + + [puppetd] + classfile = $vardir/classes.txt + localconfig = $vardir/localconfig + factsync = true + server = psi-puppet1.psi.ch + + +Because the new puppet server refers to the same sources (files) as +the current productive server, we set the immutable to the file above, +otherwise next time `puppetd` is running the server entry will be +changed to `pxeserv01` again. + +The sources are located at +`/afs/psi.ch/software/linux/dist/scientific/51/puppet/files/` on +AFS. This path is set in the file `/etc/puppet/fileserver.conf` on the +puppet server. + +Make First Tests +~~~~~~~~~~~~~~~~ + +Start the puppetmaster:: + + # /etc/init.d/puppetmaster start + +Test it with a client (the options are: keep process in the +foreground, run onetime and be verbose):: + + # [root@vmmarctest1 ~] + # puppetd --no-daemonize -o -v + +Or run the client in no operational mode, i.e. dry runs without +actually applying the configuration:: + + # puppetd --noop --no-daemonize -o -v + + info: Loading fact sysconfig_psi + info: Loading fact sysconfig_psi-gfa + info: Creating a new certificate request for vmmarctest1.psi.ch + info: Creating a new SSL key at /var/puppet/ssl/private_keys/vmmarctest1.psi.ch.pem + warning: peer certificate won't be verified in this SSL session + notice: Got signed certificate + info: Retrieving facts + info: Loading fact sysconfig_psi + info: Loading fact sysconfig_psi-gfa + info: Caching catalog at /var/puppet/localconfig.yaml + notice: Starting catalog run + notice: //Node[default]/psi_localadmin/Exec[/usr/bin/psi-fix_file_permission >/dev/null]/returns: executed successfully + info: Filebucket[/var/puppet/clientbucket]: Adding /usr/share/texmf/dvips/config/config.ps(1611c4bb4b35341f1945059ff774c6df) + notice: //Node[default]/psi_base/File[/usr/share/texmf/dvips/config/config.ps]: Filebucketed to with sum 1611c4bb4b35341f1945059ff774c6df + notice: //Node[default]/psi_base/File[/usr/share/texmf/dvips/config/config.ps]/source: replacing from source puppet://psi-puppet1.psi.ch/51/Desktop/usr/share/texmf/dvips/config/config.ps with contents {md5}b265606dc098a5414f3acd71a8831ef1 + notice: //Node[default]/psi_puppet/File[/etc/puppet/puppet.conf]/checksum: checksum changed '{md5}f2944bb81bfbe22b2a2ac4c9197563f3' to '{md5}be67850ccad5409063a56de9d5a516d3' + notice: //Node[default]/psi_puppet/File[/etc/puppet/puppet.conf]: Filebucketed to with sum be67850ccad5409063a56de9d5a516d3 + err: //Node[default]/psi_puppet/File[/etc/puppet/puppet.conf]: Could not rename tmp /etc/puppet/puppet.conf for replacing: Operation not permitted - /etc/puppet/puppet.conf.puppettmp or /etc/puppet/puppet.conf + notice: //Node[default]/psi_puppet/File[/etc/puppet/puppet.conf]/source: replacing from source puppet://psi-puppet1.psi.ch/51/Desktop/etc/puppet/puppet.conf.testing with contents {md5}f2944bb81bfbe22b2a2ac4c9197563f3 + info: Filebucket[/var/puppet/clientbucket]: Adding /etc/sysctl.conf(d5716d328f5b840eb4e13ae1d2896fe9) + notice: //Node[default]/psi_base/File[/etc/sysctl.conf]: Filebucketed to with sum d5716d328f5b840eb4e13ae1d2896fe9 + notice: //Node[default]/psi_base/File[/etc/sysctl.conf]/source: replacing from source puppet://psi-puppet1.psi.ch/51/Desktop/etc/sysctl.conf with contents {md5}d576ff606d3f93df26965e7ef364bd07 + notice: //Node[default]/psi_yum/Exec[/usr/sbin/psi-get-yumconf]/returns: executed successfully + notice: Finished catalog run in 6.22 seconds + + +So, this looks promising. Seems like the client could get it's +configuration from the new puppet server. + +Only the file `/etc/puppet/puppet.conf` could not be changed, what is +ok because the immutable flag was set. + +Next Steps +---------- + +- Verify migration order (server, client or vice versa) + +- Finalize basic server setup (verify that no config agents compromise + the system, e.g. puppetd which could be executed by cron or during + boot time, etc.), check whether it makes sense to use DNS aliases + for the hostname. + +- Shall server configuration files be stored locally or mounted from + AFS? + + +`psi-puppet1:/etc/rc.d/rc.local` has been prepared (not activated yet) +for the AFS mount:: + + #!/bin/sh + # + # This script will be executed *after* all the other init scripts. + # You can put your own initialization stuff in here if you don't + # want to do the full Sys V style init stuff. + + touch /var/lock/subsys/local + + # Puppet + #mount -o bind /afs/psi.ch/service/linux/puppet/etc/puppet-0.24.7-4 /etc/puppet + + # Restart Services depending on afs mounts + #/etc/init.d/puppetmaster restart + +The whole current puppetserver configuration from /etc/puppet/ was +copied to `/afs/psi.ch/service/linux/puppet/etc/puppet-0.24.7-4`. + +- If mounted from AFS the question remains how root@psi-puppet1 gets + the permission to mount the mentioned AFS directory. + +- Shall the client configuration manifests be stored locally or on + AFS? + + +Locally: `/var/puppet/environments/` + +AFS: `/afs/psi.ch/service/linux/puppet/etc/puppet-0.24.7-4/environments/` + +- Run the puppetmaster on hardware or vmware? Hardware. + +- When the server is going to production the IP has to be changed, see + *Static IP for Production Server* above. Done. + +- When the server is going to production the PSI firewall has to be + adjusted. (Refer to Tobias) + +- Test with old client to new server, and new client to old server. + +- Test with limited number of new client to new server. diff --git a/admin-guide/legacy/misc/psi-puppet2_installation.rst b/admin-guide/legacy/misc/psi-puppet2_installation.rst new file mode 100644 index 00000000..7acf68e5 --- /dev/null +++ b/admin-guide/legacy/misc/psi-puppet2_installation.rst @@ -0,0 +1,609 @@ +Installation `psi-puppet2` +========================== + +References +---------- + +- https://wiki.intranet.psi.ch/AIT/PuppetServer2009 + +- http://reductivelabs.com/trac/puppet/wiki/PluginsInModules + + +Introduction +------------ + +This document describes the Installation of the new puppet server +psi-puppet2, which replaces the puppet server running on pxeserv01. + +The psi-puppet2 server is an interim solution for the pxeserv01 +replacement for the following reasons: + +- The puppet service on pxeserv01 is very unstable. + +- The performance on pxeserv01 is very bad, what makes work almost impossible. + +- The psi-puppet1 server is not ready for production yet. + +The new system will be setup as a 32 bit SL5 server with the latest +puppet server package and dependencies installed. + +The puppet server configuration is the same as the one on pxeserv01. + +**Note**: Don't confuse psi-puppet2 with psi-puppet1, which not only +is thought as a replacement of the puppet server on pxeserv01 but also +comes with a reimplementation of the whole puppet configuration, +whereas psi-puppet2 takes over the puppet configuration from +pxeserv01. + + +Description of the Basic Server Setup +------------------------------------- + +- Hardware + + Dell Power Edge 1750 + +- Operating System + + SL51 32 bit Server + +- Network configuration + + Static IP for Production Server: 129.129.190.160/24 + Hostname: psi-puppet2.psi.ch + +- Required RPMS + + - puppet-server (http://download.fedora.redhat.com/pub/epel/5/i386/repoview/) + - augeas-libs + - facter + - puppet (http://download.fedora.redhat.com/pub/epel/5/i386/repoview/) + - ruby + - ruby-augeas + - ruby-libs + - ruby-shadow + - ruby-irb (required for reading help) + - ruby-rdoc (required for reading help) + + +Procedure +--------- + +Setup The Puppet Server +~~~~~~~~~~~~~~~~~~~~~~~ + +Install The Puppet Server Software +.................................. + +Use the yum repositories `/etc/yum.repos.d/epeli386.repo` and +`/etc/yum.repos.d/epelx86_64.repo` to download and install the latest +puppet packages:: + + [epeli386] + name=epel i386 + baseurl=http://download.fedora.redhat.com/pub/epel/5/i386/ + enabled=0 + + +Install the puppet-server package. Dependencies will be resolved:: + + # yum --enablerepo=epeli386 install puppet-server + + ... + Dependencies Resolved + + ============================================================================= + Package Arch Version Repository Size + ============================================================================= + Installing: + puppet-server noarch 0.24.8-1.el5.1 epel 26 k + Installing for dependencies: + augeas-libs i386 0.5.1-1.el5 epel 196 k + facter noarch 1.5.5-1.el5 epel 54 k + puppet noarch 0.24.8-1.el5.1 epel 542 k + ruby i386 1.8.5-5.el5_2.6 sl5update 279 k + ruby-augeas i386 0.2.0-1.el5 epel 17 k + ruby-libs i386 1.8.5-5.el5_2.6 sl5update 1.6 M + ruby-shadow i386 1.4.1-7.el5 epel 9.5 k + + Transaction Summary + ============================================================================= + Install 8 Package(s) + Update 0 Package(s) + Remove 0 Package(s) + ... + + +For later use, download the required RPMS and copy them to our yum +repository, see section `Put Puppet Related RPMS To Our Yum +Repository` below. + + +Configure The Puppet Server +........................... + +Use the puppet server configuration of pxeserv01 on psi-puppet2. + +The configuration files of the puppet server, directory +`/etc/puppet/`, are located on AFS, see section `Mount AFS Volumes`. + +The log is on the local disk in `/var/log/puppet`. To set the logfile +edit the line `PUPPETMASTER_OPTS` in +`/etc/rc.d/init.d/puppetmaster`. For testing also the debug option +`-d` is enabled:: + + PUPPETMASTER_OPTS="-v -d -l /var/log/puppet/puppetmaster.log" + +Enable puppetmaster in runlevels 3, 4 and 5:: + + # chkconfig --levels 345 puppetmaster on + + +Mount AFS Volumes on Puppet Server +.................................. + +The puppet server configuration files as well as the puppet manifests +for clients are located on AFS. + +AFS is already mounted as `/afs` in this default SL5 server installation:: + + # mount + ... + AFS on /afs type afs (rw) + +Now, we want to remount `/afs/psi.ch/service/linux/puppet/etc/puppet` +on `/etc/puppet`. Therefor the mount option `bind` is used, which +facilitates to remount parts of already mounted filesystems on an +alternative location in the file hierarchy. + +As shown below we do the remount in `/etc/rc.local`, which is executed +after all the other init scripts:: + + #!/bin/sh + + touch /var/lock/subsys/local + + # Puppet + mount -o bind /afs/psi.ch/service/linux/puppet/etc/puppet /etc/puppet + + # Restart Services depending on afs mounts + /etc/init.d/puppetmaster restart + +Before the `rc.local` script can be applied the proper AFS permissions +have to be set. + +Check the AFS permissions:: + + # [gasser_m@pc7377 ~] + # fs la /afs/psi.ch/service/linux/ + + Access list for /afs/psi.ch/service/linux/ is + Normal rights: + svc_linux:tools l + svc_linux:puppet l + svc_linux:readonly rl + svc_linux:pxe l + svc_linux rlidwka + + +Create a new AFS group for the puppet server:: + + # pts creategr svc_linux:puppet_hosts -owner svc_linux + group svc_linux:puppet_hosts has id -10851 + +Add the IP of psi-puppet2 to this group:: + + # pts adduser 129.129.190.160 svc_linux:puppet_hosts + +Set the AFS permissions:: + + # fs sa /afs/psi.ch/service/linux/ svc_linux:puppet_hosts l + # fs sa /afs/psi.ch/service/linux/puppet/ svc_linux:puppet_hosts rl + # fs sa /afs/psi.ch/service/linux/puppet/etc svc_linux:puppet_hosts rl + # fs sa /afs/psi.ch/service/linux/puppet/var svc_linux:puppet_hosts rl + # fs sa /afs/psi.ch/service/linux/puppet/etc/puppet svc_linux:puppet_hosts rl + +Recursively set the same permissions to all subdirectories underneath +`/afs/psi.ch/service/linux/puppet/etc/puppet`:: + + # cd /afs/psi.ch/service/linux/puppet/etc/puppet + # find -noleaf -type d -exec fs sa {} svc_linux:puppet_hosts rl \; + +Then restart the AFS service:: + + # service afs restart + +Finally, run the `rc.local` script or just reboot psi-puppet2 to see +whether everything comes up. + + +Allow User Login Access To psi-puppet2 +...................................... + +To enable remote login via ssh and execution of root commands via +sudo, the following files have to be edited. + +- `/etc/passwd` + +- `/etc/shadow` + +- `/etc/security/ssh.allow` + +- `/etc/group` + +- `/etc/hosts.allow` + +- `/etc/sudoers` + + +passwd:: + + gasser_m:!:2374:840:Gasser Marc:/afs/psi.ch/user/g/gasser_m:/bin/bash + kapeller:!:3804:9102:Rene Kapeller:/afs/psi.ch/user/k/kapeller:/bin/bash + billich:!:3830:840:Heinrich Billich:/afs/psi.ch/user/b/billich:/bin/bash + markushin:!:3883:840:Valeri Markushin:/afs/psi.ch/user/m/markushin:/bin/bash + +shadow:: + + gasser_m:NP::::::: + kapeller:NP::::::: + billich:NP::::::: + markushin:NP::::::: + +group:: + + ait::840 + sls::9102 + +ssh.allow:: + + kapeller + billich + markushin + gasser_m + +hosts.allow:: + + sshd: ... pc7377 pc7377.psi.ch gfalc05 gfalc05.psi.ch pc4568 pc4568.psi.ch + + +Configuring Puppet Reporting +............................ + +There are a number of different report processors available on the +master. The default report, store, simply stores the report file on +the disk. + +By default, each client is configured not to report back to the +master. It has to be enabled either by the report option in +`puppet.conf` or using `--report` on the command line. + +`/etc/puppet/puppet.conf`:: + + [puppetd] + report = true + + +Command line:: + + # puppetd --report + + +Store Report Processor +,,,,,,,,,,,,,,,,,,,,,, + +Enable the store reports by using the `reports` configuration option +in the puppemasterd section of the `puppet.conf` file on the master. + +`/etc/puppet/puppet.conf`:: + + [puppetmasterd] + reports = store + +The default reports directory is $vardir/reports. + +Rrdgraph Report Processor +,,,,,,,,,,,,,,,,,,,,,,,,, + +To enable the `rrdgraph` reports, `rrdtool` and `rrdtool-ruby` +packages have to be installed. + +The packages are available from the the `psi-beta` repository, they +originate from the repository shown below. + +`/etc/yum.repos.d/epeli386.repo`:: + + [epeli386] + name=epel i386 + baseurl=http://download.fedora.redhat.com/pub/epel/5/i386/ + enabled=0 + + # yum install rrdtool rrdtool-ruby + +Then, configure `puppet.conf` by adding the lines shown below in the +corresponding section. Here store and rrdgraph are enabled. + +`/etc/puppet/puppet.conf`:: + + [puppetmasterd] + reports = store,rrdgraph + rrddir = $vardir/rrd + rrdinterval = $runinterval + rrdgraph = true + +Install the Ganglia Monitor Daemon +.................................. + +Install `ganglia-gmond` and add the configuration file shown below:: + + # yum install ganglia-gmond + +Use the same `/etc/gmond.conf` as on psi-puppet1:: + + # /etc/init.d/gmond start + +For the ganglia server configuration ask Valeri Markushin. + +See puppet at [[http://129.129.190.27/ganglia/][http://129.129.190.27/ganglia/]]. + +Setup The Puppet Client +~~~~~~~~~~~~~~~~~~~~~~~~ + +Either install or update the puppet package on a client:: + + # yum --enablerepo=psi-beta install puppet + + # yum --enablerepo=psi-beta update puppet + +Test The Puppet Clients +~~~~~~~~~~~~~~~~~~~~~~~ + +To find out which versions of puppet servers and clients are +compatible to each other and in which order they should be updated, +the following tests are performed. + + +Test the Old Client With The New Server +....................................... + +Set the new server `psi-puppet2.psi.ch` in `/etc/puppet/puppet.conf`, +remove the certificate and run puppetd:: + + # [root@vsl5132de-ut] + # cd /var/puppet/ + # rm -rf ssl/ + # puppetd --test + +Ok. + + +Test the New Client With The New Server +....................................... + +Update the puppet client. Set the new server `psi-puppet2.psi.ch` in +`/etc/puppet/puppet.conf`, remove the certificate and run puppetd:: + + # [root@vsl5132de-ut] + # yum --enablerepo=psi-beta update puppet + + # cd /var/puppet/ + # rm -rf ssl/ + # puppetd --test + +Ok. + + +Test the New Client With The Old Server +....................................... + +Update the puppet client. Then set the old server `pxeserv01.psi.ch` +in `/etc/puppet/puppet.conf`, remove the certificate and run puppetd:: + + # [root@vsl5132de-ut] + # yum --enablerepo=psi-beta update puppet + + ... + ============================================================================= + Package Arch Version Repository Size + ============================================================================= + Updating: + puppet noarch 0.24.8-1.el5.1 psi-beta 542 k + Installing for dependencies: + augeas-libs i386 0.5.1-1.el5 psi-beta 196 k + ruby-augeas i386 0.2.0-1.el5 psi-beta 17 k + ruby-shadow i386 1.4.1-7.el5 psi-beta 9.5 k + Updating for dependencies: + facter noarch 1.5.5-1.el5 psi-beta 54 k + + Transaction Summary + ============================================================================= + Install 3 Package(s) + Update 2 Package(s) + Remove 0 Package(s) + ... + + # cd /var/puppet/ + # rm -rf ssl/ + # puppetd --test + +Not ok. A lot of error messages appear. It seems the new client is not +compatible to the old server! + +Conclusion +.......... + +First update the server, then the client. + +So, when you have an old client addressing the new server for tests, +and finally you wanna change it back to the old server, this should +work by just modifying `/etc/puppet/puppet.conf` on the client. + +However, once you updated the client you can not go back to the old +server, unless you downgrade the client --- with yum this means +removing the new client and reinstalling the old one. + +Put Puppet Related RPMS To Our Yum Repository +--------------------------------------------- + +To have a consistent puppet installation on our hosts we put them to +our repository. + +Use yumdowloader, package yum-utils, to download puppet related RPMS:: + + # root@psi-puppet2 + # yum install yum-utils + + # yumdownloader --enablerepo=epeli386 puppet-server augeas-libs facter \ + # puppet ruby-augeas ruby-shadow + + # yumdownloader --enablerepo=epelx86_64 augeas-libs ruby-augeas ruby-shadow + + +**Note**: There seem to be only i386 and noarch versions of the + required RPMS. + +Before they are linked into the latest `testing` and `current` +repositories they should be tested. So copy them to the `psi-beta` +repository first:: + + # scp *rpm gasser_m@tux50:/afs/psi.ch/software/linux/dist/scientific/51/beta + + # gasser_m@tux50 + # cd /afs/psi.ch/software/linux/dist/scientific/51/beta + # createrepo . + +To test the puppet clients see section `Test The Puppet Clients`. + +If the tests passed successfully copy them to the `others` repository +and create symbolic links to `testing` and `current` to make them +available:: + + # [root@psi-puppet2] + # scp *rpm gasser_m@tux50:/afs/psi.ch/software/linux/dist/scientific/51/others/all + + # gasser_m@tux50 + # cd /afs/psi.ch/software/linux/dist/scientific/51/others/all + # createrepo . + + +Update Puppet +------------- + +Keep the following order. + +- Update the puppet server. + +- Update the puppet client. + + +Update The Puppet Server +~~~~~~~~~~~~~~~~~~~~~~~~ + +At the time of writing the latest Puppet version 0.25.1 was only +available at http://tmz.fedorapeople.org/repo/puppet/epel/5/i386/. + +Download the required packages to SL51 psi-beta repository first:: + + # wget http://tmz.fedorapeople.org/repo/puppet/epel/5/i386/puppet-server-0.25.1-0.3.el5.noarch.rpm + # wget http://tmz.fedorapeople.org/repo/puppet/epel/5/i386/puppet-0.25.1-0.3.el5.noarch.rpm + +Then login to a test server and stop the puppetmaster daemon:: + + # /etc/init.d/puppetmaster stop + +Because the /etc/puppet/ is on AFS, root has no write permissions. +So, first umount the etc/puppet from AFS, then run `yum update` using +the psi-beta repository, and remount etc/puppet:: + + # umount /etc/puppet + # yum --enablerepo=psi-beta update puppet-server + # mount -o bind /afs/psi.ch/service/linux/puppet/etc/puppet /etc/puppet + +Set the following options in /etc/init.d/puppetmaster:: + + PUPPETMASTER_OPTS="-v -d -l /var/log/puppet/puppetmaster.log" + +Finally, restart the service and test it with a client:: + + # /etc/init.d/puppetmaster start + +Login to a client and run puppetd:: + + # puppetd --test + +Update The Puppet Client +~~~~~~~~~~~~~~~~~~~~~~~~ + +Basically, the 0.24.x clients should be compatible to the 0.25.x +server. Though, there are some changes between the versions, that +might cause troubles. Thus, the puppet clients should be updated, too. + +On a SL51 client run:: + + # yum --enablerepo=psi-beta update puppet + +On a SL54 client run:: + + # yum update puppet + +As soon as the client is updated, its `puppet.conf` needs some +modifications, because of the "factsync" option which is deprecated +and replaced by "pluginsync" in the 0.25.x versions. + +`/etc/puppet/puppet.conf` on a 0.25.x client: "factsync" is replaced +by "pluginsync", factpath is set (not clear whether the latter is +necessary):: + + [main] + vardir = /var/puppet + logdir = /var/log/puppet + rundir = /var/run/puppet + ssldir = $vardir/ssl + pluginsync = true + factpath = $vardir/lib/facter + environment = DesktopSL5Unstable + + [puppetd] + report = true + classfile = $vardir/classes.txt + localconfig = $vardir/localconfig + server = psi-puppet1.psi.ch + + +Further the directory structure on the server for placing facts +changed. The new structure if using modules and environments is +illustrated below taking the environment "DesktopSL5Unstable" as an +example: + +The modulepath for DesktopSL5Unstable is:: + + modulepath = /var/puppet/environments/DesktopSL5Unstable/modules + +A stub module called "custom" has to be created in the "$modulepath" +subdirectory to keep the files:: + + $modulepath/custom/ + `-- lib/ + |-- facter/ + | `-- sysconfig_psi_desktop.rb + `-- puppet/ + |-- provider/ + `-- type/ + +This subdirectory tree under custom is implicitly searched by the +puppet server. + +**Notes**: + +If you have both, the new and the old variant to keep facts, option +"pluginsync" enabled, only the new script location will be considered. + +If you run only the old variant to keep facts:: + + $modulepath/facts/files/somescript.rb + +with option "factsync" enabled, they will be loaded giving out a +warning "... use pluginsync instead of factsync ..." + +For more information see the +http://reductivelabs.com/trac/puppet/wiki/PluginsInModules. diff --git a/admin-guide/legacy/misc/puppet-trouble-shooting-in-twiki.rst b/admin-guide/legacy/misc/puppet-trouble-shooting-in-twiki.rst new file mode 100644 index 00000000..35b093d7 --- /dev/null +++ b/admin-guide/legacy/misc/puppet-trouble-shooting-in-twiki.rst @@ -0,0 +1,145 @@ +Puppet Trouble-shooting in TWiki +================================ + +Introduction +------------ + +This is the location were to post puppet problems and solutions at AIT +and GFA. + +Please use the following format according the first entry below: + +- HEADING2: Error (HOSTNAME): "BEGIN OF ERROR MESSAGE ..." + *(The HOSTNAME in parentheses is optional, if the problem might affect any host.)* + +- HEADING3: Context, a short description in what situation the error appears. + +- HEADING3: Solution, if known, provide a possible solution to fix the problem. + + +Puppet Server Errors +-------------------- + +Error (pxeserv01): "Starting puppetmaster: Could not prepare for execution ..." +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Context +....... + +The puppetmaster daemon on pxeserv01 received an unattended SIGTERM +and stopped. Maybe there is a self signed certificate which expired +or something. Anyway, restarting failed showing the following error:: + + # [root@pxeserv01 puppet]# /etc/init.d/puppetmaster start + Starting puppetmaster: Could not prepare for execution: Retrieved certificate does not \ + match private key; please remove certificate from server and regenerate it with the current key + + +Solution +........ + +Create a new certificate for the server. + +**IMPORTANT NOTE**: Recreating a new certificate for the server showed +that the clients which still have the old certificate of the server +can not connect anymore to it. Thus you need to be sure you have a +way to update the certificate of the server on the clients before +applying this. Eventually, a better solution might be to just sign +the old server certificate with `puppetca`. It was not tested whether +this works, too. + +Remove /var/puppet/ssl/ on the server:: + + # rm -rf /var/puppet/ssl/ + + +Then try to start puppetmaster, what failed again, but recreated the +ssl subdirectory and its content:: + + # /etc/init.d/puppetmaster start + + +Eventually, sign the certificate for pxeserv01 itself:: + + # puppetca --sign pxeserv01.psi.ch + # /etc/init.d/puppetmaster start + + +Via our management console the certificates on the clients had to be +deleted, in order they can retrieve the new server certificate:: + + # for i in host1 host2 ... + # do + # ssh -o ConnectTimeout=1 root@$i rm -rf /var/puppet/ssl/ + # done + + +Puppet Client Errors +-------------------- + +Error: "Could not request certificate: ..." +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Context +....... + +Running puppetd on any client might fail showing the following error:: + + # puppetd --test + err: Could not request certificate: Retrieved certificate does not match private key; + please remove certificate from server and regenerate it with the current key + Exiting; failed to retrieve certificate and watiforcert is disabled + + +Solution +........ + +The problem is that for what reason ever the client certificate is not +valid, i.e. it does not match its copy stored on the puppet server. + +Usually this happens when a host is reinstalled keeping its original +hostname. During the initial puppetd run, the client requests a new +certificate from the server, which denies, because there is already a +certificate on the server for that hostname. + +To fix this you have to delete the old certificate on client and +server. + +On the server:: + + # puppetca --clean HOSTNAME.psi.ch + HOSTNAME.psi.ch + notice: Removing file Puppet::SSL::Certificate HOSTNAME.psi.ch at + '/var/puppet/ssl/ca/signed/mpc1273.psi.ch.pem' + +If this notice does not appear, the certificate was not deleted. + +On the client:: + + # rm -rf /var/puppet/ssl/ + +Then, run puppetd again:: + + # puppetd --test + + +Error: "notice: Run of Puppet configuration client already in progress; skipping ..." +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Context +....... + +Running puppetd on any client might fail showing the following error, +even `ps ax | grep puppetd` does not show a running puppet process:: + + # puppetd --test + notice: Run of Puppet configuration client already in progress; skipping + + +Solution +........ + +There is still an old lock file `/var/puppet/state/puppetdlock`. +Remove the lock file and run puppetd again:: + + # rm /var/puppet/state/puppetdlock diff --git a/admin-guide/legacy/misc/puppetmanifestsforsl53.rst b/admin-guide/legacy/misc/puppetmanifestsforsl53.rst new file mode 100644 index 00000000..8720b24d --- /dev/null +++ b/admin-guide/legacy/misc/puppetmanifestsforsl53.rst @@ -0,0 +1,98 @@ +Puppet Manifests for SL 5.3 +=========================== + + +Introduction +------------ + +As we are planning to upgrade from SL 5.1 to SL 5.3, we decided to +reorganize and reimplement all the client configuration manifests. + + +Procedure +--------- + +**Note**: Here we are still in the development state, thus filenames +and everything probably will be changed for the productive setup. + + +Puppet SVN +~~~~~~~~~~ + +To manage the changes to manifests and client configuration files we +use `subversion (svn)` as a revision control:: + + # ENV=CnodeSL5 + # mkdir /var/puppet/environments/$ENV + # cd /var/puppet/environments/$ENV + + +Check out all manifests:: + + # svn co svn+ssh://svn.psi.ch/repos/linux/kickstart/trunk/puppet/manifests + + +Check out modules individually:: + + # mkdir /var/puppet/environments/$ENV/modules + # cd /var/puppet/environments/$ENV/modules + # svn co svn+ssh://svn.psi.ch/repos/linux/kickstart/trunk/puppet/Modules/facts + # svn co svn+ssh://svn.psi.ch/repos/linux/kickstart/trunk/puppet/Modules/cnode + # svn co svn+ssh://svn.psi.ch/repos/linux/kickstart/trunk/puppet/Modules/psibasic + # svn co svn+ssh://svn.psi.ch/repos/linux/kickstart/trunk/puppet/Modules/ssh + # svn co svn+ssh://svn.psi.ch/repos/linux/kickstart/trunk/puppet/Modules/ntp + # svn co svn+ssh://svn.psi.ch/repos/linux/kickstart/trunk/puppet/Modules/scratch + + +On the Puppet Server Side +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Restart the puppet server. For testing use some increased verbosity +(-v), debug mode (-d) and log to a file (-l). Set these options in +`/etc/init.d/puppetmaster` using variable `PUPPETMASTER_OPTS`:: + + # vi /etc/init.d/puppetmaster + ... + PUPPETMASTER_OPTS="-v -d -l /var/log/puppet/puppetmaster.log" + ... + + # /etc/init.d/puppetmaster restart + + +On the Puppet Client Side +~~~~~~~~~~~~~~~~~~~~~~~~~ + +To specify which environment the Puppet client uses you can specify a +value for the environment configuration variable in the client's +`puppet.conf` file. Here the environment `developmentSL53` is set. + +Additionally the name of the puppet server `psi-puppet1.psi.ch` is +assigned:: + + # vi /etc/puppet/puppet.conf + [main] + vardir = /var/puppet + logdir = /var/log/puppet + rundir = /var/run/puppet + ssldir = $vardir/ssl + environment = developmentSL53 + + [puppetd] + classfile = $vardir/classes.txt + localconfig = $vardir/localconfig + factsync = true + server = psi-puppet1.psi.ch + +In the Kickstart +~~~~~~~~~~~~~~~~ + +In the SL 5.3 Installation Tree +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Create the base directories, its subdirectories and some first test +file for the `Basic` class as declared above in the manifest +`basic.pp` on the server:: + + # cd /afs/psi.ch/software/linux/dist/scientific/53/ + # mkdir -p puppet/files/Basic/etc + # touch puppet/files/Basic/etc/puppet-test-file diff --git a/admin-guide/legacy/misc/puppetmasteratpsi.rst b/admin-guide/legacy/misc/puppetmasteratpsi.rst new file mode 100644 index 00000000..ca6c7d9b --- /dev/null +++ b/admin-guide/legacy/misc/puppetmasteratpsi.rst @@ -0,0 +1,76 @@ +Puppetmaster At PSI +=================== + +Procedure +--------- + +Manual Check Whether Puppetmaster Is Running +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Contemporary, the `puppetmasterd` process often crashes and automatic +restart fails. Thus it has to be started manually again. Therefore login +to `pxeserv01`, check whether the process is still running and if not, +restart `puppetmasterd`. + +Check whether the `puppetmasterd` is running:: + + [root@pxeserv01 ~]# ps ax | grep puppet + 549 pts/0 S+ 0:00 grep puppet + 6641 ? S 7:53 /bin/bash ./test-and-restart-puppetmaster.sh + +It's not running. + +Check the logfile. The logfile is situated on AFS:: + + # tail /afs/psi.ch/service/linux/puppet/var/log/puppetmaster.log + ... + Mon Jan 26 09:22:27 +0100 2009 Puppet (notice): Compiled configuration for slsnedi1.psi.ch in 0.09 seconds + Mon Jan 26 09:24:55 +0100 2009 Puppet (notice): Caught TERM; shutting down + Mon Jan 26 09:24:55 +0100 2009 Puppet (notice): Shutting down + Mon Jan 26 09:24:55 +0100 2009 Puppet (err): Could not remove PID file /var/run/puppet/puppetmasterd.pid + Mon Jan 26 09:25:01 +0100 2009 Puppet (err): Could not create PID file: /var/run/puppet/puppetmasterd.pid + + +In this case remove `/var/run/puppet/puppetmasterd.pid` and restart the server:: + + # rm /var/run/puppet/puppetmasterd.pid + # /etc/init.d/puppetmaster restart + + +Check again whether the `puppetmasterd` is running:: + + # [root@pxeserv01 ~]# ps ax | grep puppet + 549 pts/0 S+ 0:00 grep puppet + 6641 ? S 7:53 /bin/bash ./test-and-restart-puppetmaster.sh + 31599 ? Ssl 0:03 /usr/bin/ruby /usr/sbin/puppetmasterd \ + --logdest=/afs/psi.ch/service/linux/puppet/var/log/puppetmaster.log + + +Finally, test it on a client:: + + # [root@pc7377 ~]# psi-puppet + ... + puppetd was running successfully + + +Automatic Check Whether Puppetmaster Is Running +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +On `pxeserv01` the script `/root/test-and-restart-puppetmaster.sh` +continuously observes the `puppetmasterd` and should restart it when +it's hanging. + +The script is started in the following way:: + + # [root@pxeserv01 etc]# nohup /root/test-and-restart-puppetmaster.sh & + + +The output is written to: + +- `$HOME/nohup.out` + + The logfile. + +- `/dev/shm/puppetwatch.1` + +- `/dev/shm/puppetwatch.2` diff --git a/admin-guide/legacy/misc/release_snapshotssl53.rst b/admin-guide/legacy/misc/release_snapshotssl53.rst new file mode 100644 index 00000000..5e6bbc2c --- /dev/null +++ b/admin-guide/legacy/misc/release_snapshotssl53.rst @@ -0,0 +1,188 @@ +Update SL53 i386 and x86_64 +=========================== + +Get Native Scientific Linux Updates +----------------------------------- + +This section describes how the particular linux repositories are +updated by looking for new RPMS in our mirror and copying them from +there to the repositories. + + +Get the Latest Security Update RPMS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Get the latest security update RPMS from the local SL53 mirror for +both architectures, i386 and x86_64, by invoking +`update_repo_all_directories.sh` on tux50. They will be copied to the +corresponding `.../update.${ARCH}/all/` directories. This will take +some time:: + + # cd /afs/psi.ch/software/linux/dist/scientific/53/scripts/ + # ./update_repo_all_directories.sh > ~/tmp/20090930-update_repo_all_directories.sl53.output 2>&1 + +Then, check for errors in the log file:: + + # grep -i error ~/tmp/20090930-update_repo_all_directories.sl53.output + ... + +Finally, run `update_symlinks_in_rpms_all.sh` to keep all symlinks in +the directory +`/afs/psi.ch/software/linux/dist/scientific/53/RPMS_all/` up to date. + +The script removes dead links and creates new links to the new RPMS. +It is basically not necessary for running PSI updates, rather it's +just convenient to have a directory with the list of all RPMS of a +distribution:: + + # ./update_symlinks_in_rpms_all.sh + + +Create A New PSI Version And Release The SLP Snapshots +------------------------------------------------------ + +Keep the following order: + +- Update the "all" repositories. (Described in section texttext) + +- Create new snapshots. (Described in section texttext) + +- Release "unstable" from new snapshots. + +- Create a new PSI version. + +- Release "testing". + +- Release "stable". + + +Release Unstable +~~~~~~~~~~~~~~~~ + +The "unstable" distribution is where active development of SLP occurs. +Generally, this distribution is run by developers and those who like +to live on the edge. + +The command `release_unstable.sh` will update the respective symlinks +`.../unstable` to the latest snapshots. + +Because `release_unstable.sh` is interactive, you should not redirect +the output to a file, as you won't be able to see the questions asked. + +Before `release_unstable.sh`:: + + # [gasser_m@tux50] + # cd /afs/psi.ch/software/linux/dist/scientific/53/ + # ls -l */unstable + + # ./release_unstable.sh + +After `release_unstable.sh`:: + + # ls -l */unstable + +As soon as an unstable distribution has become testing a new unstable +can be generated that again points to the new latest snapshots. + + +Create A New PSI Version +~~~~~~~~~~~~~~~~~~~~~~~~ + +As soon as the new PSI version is created, i.e. the symbolic links +which point to the same target snapshots as the latest unstable +snapshots, the PSI auto-update process is active again for the hosts +which are set to unstable:: + + # cd /afs/psi.ch/software/linux/dist/scientific/53/scripts + # ./create_new_psi_version.sh + + +Release Testing +~~~~~~~~~~~~~~~ + +The "testing" distribution contains packages that haven't been +accepted into a "stable" release yet, but they are in the queue for +that. The main advantage of using this distribution is that it has +more recent versions of software. + +The command `release_testing.sh` will update the respective symlinks +`.../testing` to the latest unstable snapshots. + +Because `release_testing.sh` is interactive, you should not redirect +the output to a file, as you won't be able to see the questions asked. + +Before `release_testing.sh`:: + + # [gasser_m@tux50] + # cd /afs/psi.ch/software/linux/dist/scientific/53/ + # ls -l */testing + + # ./release_testing.sh + +After `release_testing.sh`:: + + # ls -l */testing + + +Release Stable +~~~~~~~~~~~~~~ + +The "stable" distribution, formerly known as "current", contains the +latest officially released distribution of SLP. + +This is the production release of SLP, the one which we primarily +recommend using. + +The command `release_stable.sh` will update the respective symlinks +`.../stable` to the latest unstable snapshots. + +Because `release_stable.sh` is interactive, you should not redirect +the output to a file, as you won't be able to see the questions asked. + +Before `release_stable.sh`:: + + # [gasser_m@tux50] + # cd /afs/psi.ch/software/linux/dist/scientific/53/ + # ls -l */stable + + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:25 cluster/stable -> 20090316 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:23 enhanced/stable -> 20090316 + lrwxr-xr-x 1 gasser_m ait 18 Sep 18 11:24 kernel/stable -> 2.6.18-128.1.1.el5 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:24 nonfree/stable -> 20090316 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:22 others/stable -> 20090316 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:21 psi/stable -> 20090821 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:22 update.i386/stable -> 20090820 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:21 update.x86_64/stable -> 20090820 + + # ./release_stable.sh + + ### begin ./release_stable.sh ### + Sourcing configuration file ./dist-config + + TOP_DIR is /afs/psi.ch/software/linux/dist/scientific/53 + + Running ./release_stable.sh ... + + Latest snapshot in psi: + /afs/psi.ch/software/linux/dist/scientific/53/psi/testing -> 20090916 + Latest snapshot in others: + /afs/psi.ch/software/linux/dist/scientific/53/others/testing -> 20090916 + Latest snapshot in update.i386: + /afs/psi.ch/software/linux/dist/scientific/53/update.i386/testing -> 20090916 + Latest snapshot in update.x86_64: + /afs/psi.ch/software/linux/dist/scientific/53/update.x86_64/testing -> 20090916 + Latest snapshot in enhanced: + /afs/psi.ch/software/linux/dist/scientific/53/enhanced/testing -> 20090916 + Latest snapshot in kernel: + /afs/psi.ch/software/linux/dist/scientific/53/kernel/testing -> 2.6.18-128.7.1.el5 + Latest snapshot in nonfree: + /afs/psi.ch/software/linux/dist/scientific/53/nonfree/testing -> 20090916 + Latest snapshot in cluster: + /afs/psi.ch/software/linux/dist/scientific/53/cluster/testing -> 20090916 + + Relink stable to the latest snapshots (y/n)? + + +After `release_stable.sh`:: + + # ls -l */stable diff --git a/admin-guide/legacy/misc/repairrpmdb.rst b/admin-guide/legacy/misc/repairrpmdb.rst new file mode 100644 index 00000000..f9cbe9fd --- /dev/null +++ b/admin-guide/legacy/misc/repairrpmdb.rst @@ -0,0 +1,21 @@ +Repair the RPM DB +================= + +Introduction +------------ + +Sometimes the rpm database gets broken and any command of manipulating +or questioning RPMS might fail. + +So, it can be necessary to remove the corrupted RPM database and to +reinitialize it. + +Procedure +--------- + +Run:: + + # cd /var/lib/rpm + # rm -f __db.* + # rpmdb --initdb + # rpmdb --rebuilddb diff --git a/admin-guide/legacy/misc/sap_client_for_linux_howto.rst b/admin-guide/legacy/misc/sap_client_for_linux_howto.rst new file mode 100644 index 00000000..eecc1159 --- /dev/null +++ b/admin-guide/legacy/misc/sap_client_for_linux_howto.rst @@ -0,0 +1,120 @@ +Installation of SAP Citrix Client and Prerequisites +=================================================== + +SL6 32 bit +---------- + +First tests with rebuild of SRPMS of pcsc-lite and pcsc-lite-libs +version 1.5.2-7 without hal support. + +Install pcsl-lite 1.5.2 (SmartCard daemon) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Run:: + + # yum install pcsc-lite + # yum install pcsc-lite-libs + + +Install Omnikey SmartCard driver +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Run:: + + # yum --enablerepo beta install omnikey-usb-3121-driver # todo: move the driver to the stable repo + # /etc/init.d/pcscd restart + +or for debug mode:: + + # /usr/sbin/pcscd -df + + +Install Citrix ICA Client +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Run:: + + # yum install openmotif libXp + # yum install ICAClient + + +SL6 64 bit +---------- + +Install pcsc-lite-1.5.3 +~~~~~~~~~~~~~~~~~~~~~~~ + +The following packages have to be present/installed. + + - alsa-lib, alsa-lib.i686, gtk2-devel, gtk2-devel.i386, glibc, glibc.i686, glibc-devel, glibc-devel.i686 + - libgcc, libgcc.i686, libusb, libusb.i686, libusb-devel, libusb-devel.i686 + - libXpm, libXpm.i686, libXaw, libXaw.i686, nspluginwrapper, nspluginwrapper.i686 + - openmotif, openmotif.i686, openmotif-devel, openmotif-devel.i686 + - libusb1, libusb1.i686, libusb1-devel, libusb1-devel.i686 + +Remove the preinstalled pcsc-lite packages:: + + # rpm -e --nodeps pcsc-lite pcsc-lite-libs pcsc-lite-openct + + +Download, unpack pcsc-lite-1.5.3 sources, run configure and build the +daemon:: + + # wget --no-check-certificate https://alioth.debian.org/frs/download.php/3017/pcsc-lite-1.5.3.tar.bz2 + # tar xvf pcsc-lite-1.5.3.tar + # cd pcsc-lite-1.5.3.tar + + # ./configure --enable-usbdropdir=/usr/lib/pcsc/drivers --disable-libhal --prefix=/usr CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 + + # make + # make check + # make install + + +Install Omnikey SmartCard driver +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Run:: + + # yum --enablerepo beta install omnikey-usb-3121-driver # todo: move the driver to the stable repo + #todo: dependency pcsc-lite-libs??? + # /etc/init.d/pcscd restart + +or for debug mode:: + + # /usr/sbin/pcscd -df + + +Install Citrix ICA Client +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Run:: + + # yum install openmotif libXp + # yum install ICAClient + + +Start SAP Session +----------------- + +Plug in the Omnikey 3121 USB SmartCard reader, and plug in the +SmartCard. + +Start the Citrix Receiver (E.g. in KDE: Applications --> Internet --> +Citrix Receiver) and login to the terminal server tsadlm01, use your +Windows login and password. + +Then run the APPGATE_Start application by clicking the icon. + +Open the connection to the server acc1.caz.admin.ch using the method +certificate and keep the autoselected certificate, read from the +SmartCard reader. Click ok. + +Enter your password for the SmartCard token and click ok. + +Internet Explorer starts and pops up to websites, HP something and one +from the BIT. Close them or leave them, as you like. + +Switch to the cmd.exe console of the terminal server and press any +key. UltraLogon will start and open the SAP main window, where you +select your session. diff --git a/admin-guide/legacy/misc/updatesl57.rst b/admin-guide/legacy/misc/updatesl57.rst new file mode 100644 index 00000000..f7357cdc --- /dev/null +++ b/admin-guide/legacy/misc/updatesl57.rst @@ -0,0 +1,282 @@ +Update SL57 and later i386 and x86_64 +===================================== + +Introduction +------------ + +Keep the following order: + +- Get the latest security updates from the SL mirror for the + "update.$ARCH" repository. + +- Build kernel modules. + +- Get updates for the "psi" repository. + +- Get updates for the "other" repository. + +- Get updates for the "nonfree" repository. + +- Create new snapshots. + +- Release "unstable" from new snapshots. + +- Create a new PSI version. + +- Release "testing". + +- Release "stable". + + +Update The Different Repositories +--------------------------------- + +Get the Latest Security Update RPMS From SL Mirror +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Get the latest security update RPMS from the local SL57 mirror for +both architectures, i386 and x86_64, by invoking +`rsync_security_updates_to_all_directories.sh` on tux50. + +They will be copied to the corresponding `.../updates.${ARCH}/all/` +directories. This will take some time:: + + # cd /afs/psi.ch/software/linux/dist/scientific/57/scripts/ + # nohup ./rsync_security_updates_to_all_directories.sh > \ + # UPDATE_LOG/$(date +%Y-%m-%d)-rsync_security_updates_to_all_directories.log 2>&1 & + +Then, check for errors in the log file:: + + # grep -i error UPDATE_LOG/20091221-rsync_security_updates_to_all_directories.log + ... + +Finally, run `update_symlinks_in_rpms_all.sh` to keep all symlinks in +the directory +`/afs/psi.ch/software/linux/dist/scientific/57/RPMS_all/` up to date. + +The script removes dead links and creates new links to the new RPMS. +It is basically not necessary for running PSI updates, rather it's +just convenient to have a directory with the list of all RPMS of a +distribution:: + + # ./update_symlinks_in_RPMS_all.sh + +Build Kernel Modules +~~~~~~~~~~~~~~~~~~~~ + +First install the latest kernel and kernel-devel packages on the +respective build systems. + +Then build the RPMS on the corresponding build systems using the +scripts below. + +32 bit:: + + # [gasser_m@tukan50-32] + # cd /afs/psi.ch/software/linux/dist/scientific/57/scripts + # sh build_kernel_modules.sh 2.6.18-194.3.1.el5 > \ + # UPDATE_LOG/20100630-build_kernel_modules-2.6.18-194.3.1.el5.i686.log 2>&1 + + # check-set-of-built-kernel-modules.bash /tmp/rpms_for_2.6.18-194.3.1.el5 \ + # KERNEL_MODULES_TO_BUILD/sl5.i386.kms-to-be-built + + # sh build-gpfs.sl5x.i386.sh + + +64 bit:: + + # [gasser_m@tux50-64] + # cd /afs/psi.ch/software/linux/dist/scientific/57/scripts + # sh build_kernel_modules.sh 2.6.18-194.3.1.el5 > \ + # UPDATE_LOG/20100630-build_kernel_modules-2.6.18-194.3.1.el5.x86_64.log 2>&1 + + # check-set-of-built-kernel-modules.bash /tmp/rpms_for_2.6.18-194.3.1.el5 \ + # KERNEL_MODULES_TO_BUILD/sl5.x86_64.kms-to-be-built + + # sh build-gpfs.sl5x.x86_64.sh + + +Finally, from both build systems, copy the built kernel modules to the +psi repository:: + + # cp -av `cat /tmp/rpms_for_2.6.18-194.3.1.el5` /afs/psi.ch/software/linux/dist/scientific/57/psi/all/ + + +Get Updates For The Psi Repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Get Updates For The Other Repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +Get Updates For The Nonfree Repository +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Create New Snapshots +-------------------- + +The script `create_new_snapshots.sh` will pick out the latest version +of each RPM found in the active repositories. + +It will create a subdirectory (snapshot) in each repository and name +it after the current date using the format YYYYMMDD. + +Then it will place a symbolic link into this subdirectory for each +latest RPM found in the `all` subdirectory of the currently processed +repository. + +To invoke it run the following command:: + + # nohup ./create_new_snapshots.sh alldirs > UPDATE_LOG/$(date +%Y-%m-%d)-create_new_snapshots.log 2>&1 & + + +Release Unstable, Create A New PSI Version And Release The Other SLP Snapshots +------------------------------------------------------------------------------ + +Release Unstable +~~~~~~~~~~~~~~~~ + +The "unstable" distribution is where active development of SLP occurs. +Generally, this distribution is run by developers and those who like +to live on the edge. + +The command `release_unstable.sh` will update the respective symlinks +`.../unstable` to the latest snapshots. + +Because `release_unstable.sh` is interactive, you should not redirect +the output to a file, as you won't be able to see the questions asked. + +Before `release_unstable.sh`:: + + # [gasser_m@tux50] + # cd /afs/psi.ch/software/linux/dist/scientific/57/ + # ls -l */unstable + + # ./release_unstable.sh + + +After `release_unstable.sh`:: + + # ls -l */unstable + + +As soon as an unstable distribution has become testing a new unstable +can be generated which again points to the new latest snapshots. + + +Create A New PSI Version +~~~~~~~~~~~~~~~~~~~~~~~~ + +Run:: + + # cd /afs/psi.ch/software/linux/dist/scientific/57/scripts + # sh create_new_psi_version.sh + +As soon as the new PSI version is created, i.e. the symbolic links +which point to the same target snapshots as the latest unstable +snapshots, the psi-version-info.txt file has to be actualized to +activate the PSI auto-update again for the hosts which are set to +unstable:: + + # ./create_file_psiversion-info.sh + +Eventually, test the unstable release. + + +Release Testing +~~~~~~~~~~~~~~~ + +The "testing" distribution contains packages that haven't been +accepted into a "stable" release yet, but they are in the queue for +that. The main advantage of using this distribution is that it has +more recent versions of software. + +The command `release_testing.sh` will update the respective symlinks +`.../testing` to the latest unstable snapshots. + +If the puppet environment DesktopSL5Unstable was modified and the +changes should be made in DesktopSL5Testing, too, run +`rsync_puppet_env_testing_with_unstable.sh` before +`release_testing.sh`. + +Because `release_testing.sh` is interactive, you should not redirect +the output to a file, as you won't be able to see the questions asked:: + + # [gasser_m@tux50] + # cd /afs/psi.ch/software/linux/dist/scientific/57/scripts + + # ./rsync_puppet_env_testing_with_unstable.sh + # ./rsync_kickstart_dir_DesktopTesting_with_DesktopUnstable.sh + # ./release_testing.sh + + # ./create_file_psiversion-info.sh + + +Release Stable +~~~~~~~~~~~~~~ + +To activate the PSI auto-update again for testing hosts the +psi-version-info.txt file has to be actualized. + +The "stable" distribution, formerly known as "current", contains the +latest officially released distribution of SLP. + +This is the production release of SLP, the one which we primarily +recommend using. + +The command `release_stable.sh` will update the respective symlinks +`.../stable` to the latest unstable snapshots. + +The procedure is analogous to the procedure described in the "Release +Testing" section:: + + # ./rsync_puppet_env_stable_with_testing.sh + # ./rsync_kickstart_dir_DesktopStable_with_DesktopTesting.sh + # ./release_stable.sh + # ./create_file_psiversion-info.sh + + + ### begin ./release_stable.sh ### + Sourcing configuration file ./dist-config + + TOP_DIR is /afs/psi.ch/software/linux/dist/scientific/57 + + Running ./release_stable.sh ... + + Latest snapshot in psi: + /afs/psi.ch/software/linux/dist/scientific/57/psi/testing -> 20090916 + Latest snapshot in others: + /afs/psi.ch/software/linux/dist/scientific/57/others/testing -> 20090916 + Latest snapshot in update.i386: + /afs/psi.ch/software/linux/dist/scientific/57/update.i386/testing -> 20090916 + Latest snapshot in update.x86_64: + /afs/psi.ch/software/linux/dist/scientific/57/update.x86_64/testing -> 20090916 + Latest snapshot in kernel: + /afs/psi.ch/software/linux/dist/scientific/57/kernel/testing -> 2.6.18-128.7.1.el5 + Latest snapshot in nonfree: + /afs/psi.ch/software/linux/dist/scientific/57/nonfree/testing -> 20090916 + Latest snapshot in cluster: + /afs/psi.ch/software/linux/dist/scientific/57/cluster/testing -> 20090916 + + Relink stable to the latest snapshots (y/n)? + + +Before `release_stable.sh`:: + + # [gasser_m@tux50] + # cd /afs/psi.ch/software/linux/dist/scientific/57/ + # ls -l */stable + + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:25 cluster/stable -> 20090316 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:23 enhanced/stable -> 20090316 + lrwxr-xr-x 1 gasser_m ait 18 Sep 18 11:24 kernel/stable -> 2.6.18-128.1.1.el5 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:24 nonfree/stable -> 20090316 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:22 others/stable -> 20090316 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:21 psi/stable -> 20090821 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:22 update.i386/stable -> 20090820 + lrwxr-xr-x 1 gasser_m ait 8 Sep 18 11:21 update.x86_64/stable -> 20090820 + + +After `release_stable.sh`:: + + # ls -l */stable diff --git a/admin-guide/legacy/misc/updateslmaindoc.rst b/admin-guide/legacy/misc/updateslmaindoc.rst new file mode 100644 index 00000000..cec90864 --- /dev/null +++ b/admin-guide/legacy/misc/updateslmaindoc.rst @@ -0,0 +1,1275 @@ +Updates for SL 4 and SL 5.1 +=========================== + +References +---------- + +- https://wiki.intranet.psi.ch/AIT/LinuxRegularUpdate (U. Beyerle) + +- https://wiki.intranet.psi.ch/AIT/SL5RegularUpdates200807 (V. Markushin) + + +Introduction +------------ + +The following text describes how regular Scientific Linux (SL) updates +for SL51 and SL4, are performed. + +A detailed standard procedure is exemplified for an SL 51 update on a +64 bit machine, but the same operation is followed for other SL +releases <= SL51 and architectures. Deviations from the standard +procedure are emphasized in the text. + + +General Remarks +~~~~~~~~~~~~~~~ + +Regular Linux Udpates are scheduled every first Wednesday in a month. + +Create a new Testing Release one week in advance. + +It is advised to create the new version for a release on the +respective build system. For example for SL5 i386 do it on tux50 with +your AFS account, for AFS ACLs see "Required File Permissions On AFS" +below. + +When you compile new kernel module RPMS then it's recommended to use +build systems. + + +Reasons For Using Build Systems +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +- Performance: Some scripts will just horribly slow down your desktop + machine, making it almost impossible to work on it while the + respective script is running. So, using a build system will not + affect the performance of your desktop computer. + +- Version conflicts: Some versions of some tools such as yum, + createrepo, etc., might be different in different SL releases, thus + to avoid conflicts one should use the version of the tool that comes + with the corresponding release. Other packages might be missing at + all, e.g. some devel packages used when RPMS are built or tool like + createrepo, which are not required on a default Desktop. + +- Compiling software: For compiling software, e.g. building kernels, + kernel modules, etc., it first has to be on the right architecture, + and second it's also recommended to do it in some clean default + environment, which is a representative for the environments of + productive systems. + + +Scientific Linux Mirror at PSI +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +RPMS are taken from our mirror at +`/afs/psi.ch/software/mirror/scientific/`. The mirror is updated +daily by a cronjob running on pxeserv01. (See also +LinuxInstallationServer.):: + + # file pxeserv01:/etc/cron.d/mirror + + # Mirroring of rpm repositories at 07:00 + # + 00 07 * * * root /afs/psi.ch/software/mirror/scripts/mirror.sh > /dev/null 2>&1 + +The script `/afs/psi.ch/software/mirror/scripts/mirror.sh` reads +`/afs/psi.ch/software/mirror/scripts/mirror.conf` to know about +locations of ftp external software repositories and where to place the +files on our local mirror. + +E.g.: The archive +`ftp://ftp.scientificlinux.org/linux/scientific/46/i386` is locally +mirrored at `/afs/psi.ch/software/mirror/scientificlinux/46/i386`. + + +Autoupdate in SL5 +~~~~~~~~~~~~~~~~~ + +The script `/usr/sbin/psi-auto-update` is started via cron usually in +the night and triggers the update, the latter is performed by scripts +and Puppet. The update is released the first Wednesday of a +month. Default Desktop computers will be updated during the night from +Wednesday to Thursday. + + +Preparatory Work +---------------- + +Required File Permissions On AFS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Before starting with performing updates, you need the corresponding +permissions to do things in the PSI linux repository directory at +`/afs/psi.ch/software/linux/dist/scientific/`, which is on an AFS +volume. + +Check permissions using AFS commands and get the required AFS access. +The unix commands `ls -l` etc. will work but not show you the relevant +AFS permissions, instead use the AFS command `fs`. + +E.g.: Type `fs help` to see a list of command attributes:: + + # fs listacl /afs/psi.ch/software/linux/ + ... + or + + # fs listacl /afs/psi.ch/software/mirror/ + Access list for /afs/psi.ch/software/mirror is + Normal rights: + ait:sw_adm rlidwka + psi:nodes rl + system:authuser rl + +To work in the linux distribution directories you need to be in the +following AFS groups (output of `pts mem AFS_USERNAME`):: + + # pts mem gasser_m + Groups gasser_m (id: 2374) is a member of: + ait:sw_adm + linux:users + ait:users + + +Prepare Your Build Environment For Building RPMS +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +For building RPMS you have two possibilities: + +- build locally in your build directories + +- build on AFS in common build directories + + +Build locally +............. + +Before you start building RPMS you create the following directories on +each build system. + +Example for tux50-64:: + + # ssh gasser_m@tux50-64 + # mkdir /scratch/gasser_m + # cd /scratch/gasser_m + # mkdir rpm_tmp rpm_topdir + # cd rpm_topdir + # mkdir BUILD RPMS SOURCES SPECS SRPMS + + +Your build environment is set in "~/.rpmmacros":: + + %WORKDIR %(echo "/scratch/$USER") + %_topdir /scratch/gasser_m/rpm_topdir + %_tmppath /scratch/gasser_m/rpm_tmp + %packager Marc Gasser + %vendor PSI Scientific Linux + %sl_site slp + %sl_site_version %(rpm -q --qf "%{v}" sl-release | cut -d"." -f1) + %os_release %{sl_site}%{sl_site_version} + %dist .%{os_release} + %rhel %sl_site_version + %debug_package %{nil} + + +The command `rpmbuild` is used to build RPMS. The built RPMS are +found in the RPMS directory of your build environment on your build +system. + + +Build on AFS +............ + +Change to `/afs/psi.ch/project/linux/src/scientific/RPMS`. There you +will find separate subdirectories, each for one specific RPM. + +Check that your `.rpmmacros` does not mess up the build environment +for this kind of building. Change to the subdirectory of the RPM you +want to build and use the script `psi-rpmbuild`, which sets up the +build environment (thus `.rpmmacros` is not required at all). In the +subdirectory run `psi-rpmbuild -bb` for building a binary package only +for instance. + +E.g.: To build the psi-desktop package version 2.x do the following on +a build system:: + + # cd psi-desktop-2/ + # psi-rpmbuild -bb + + +The built RPM can be found in the corresponding subdirectory in +`/afs/psi.ch/project/linux/dist/`. + +The big advantages of this procedure are, you don't have to install +the sources on each build system, instead you install them once in +AFS, and this centralized build environment can be shared among +different users on different hosts. + + +Check Diskspace +~~~~~~~~~~~~~~~ + +Before starting the update check the diskspace left on your file +systems involved. + +- For copying new RPMS from the mirror to the repositories + +To be on the safe side there should be 1 G of free diskspace on the +respctive AFS volumes, where RPMS are copied to:: + + [gasser_m@pc7377 tmp]$ fs lq /afs/psi.ch/software/linux/dist/scientific/305/ + Volume Name Quota Used %Used Partition + sw.dist.sl305 25000000 23317560 93%<< 88% < + + 728d4109f520336bb6b5f595de9dd2db acroread-8.1.6-2.el5.i386.rpm + fd1b8fb934140222460ed81c34420d90 acroread-plugin-8.1.6-2.el5.i386.rpm + + # md5sum -c file.md5sum + + +Kernel Update SL5 +----------------- + +This section describes the kernel update for SL51, 32 and 64 bit. + +The SL5 kernel update procedure described here is basically the same +for SL4. However, a lot of details such as names of files, kernel +modules, build systems, etc., differ, thus the whole SL4 procedure is +shown in its own section, too. See `Kernel Update SL4`. + +The general remarks below are valid for SL4, too. + + +General Remarks Referring To Kernel Update +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +When a new SL kernel is released also a lot of corresponding kernel +module packages are coming with this kernel to extend its +functionality, e.g. kernel-module-xfs to facilitate Xfs support of the +kernel. + +Now, in case a new kernel has been released you have to build a set of +kernel-module RPMS, which at PSI are provided in addition to those +coming with the regular SL updates. + +It's recommended to use dedicated build systems to build RPMS. + +To compile kernel modules some prerequisites have to be met. + +- A build environment has to be set up on your build system + (e.g. tux50-64 for SL5 x86_64), locally or on AFS as discussed + before. + +- New kernel and kernel-devel RPMS have to be installed on your build + system. + +- The particular kernel module source RPMS have to be installed on + your build system. + +- About 1 G of free diskspace. + +- Note: For compiling new kernel modules the corresponding kernel has + to be installed on your build system but must not be running and you + can build the modules in a non-root environment. + + +Kernel Update SL5 32-bit +........................ + +Follow the procedure shown in the 64-bit section below. Differences +between building of the 32 and 64 bit kernel modules are pointed out. + +The main difference is, first, that you have to build kernel, +kernel-xen and kernel-PAE modules for 32 bit systems, while you build +only kernel and kernel-xen modules for 64 bit. The GPFS kernel module +is build for both, 32 and 64 bit systems. + + +Kernel Update SL5 64-bit +........................ + +(Example for PSI update SL5 version 31, June 2009.) + +Login to your build system and check which kernel packages are already +installed:: + + # [gasser_m@tux50-64 ~]$ rpm -q kernel{,-xen,-devel,-xen-devel} + + kernel-2.6.18-92.1.22.el5 + kernel-2.6.18-128.1.1.el5 + kernel-2.6.18-128.1.6.el5 + kernel-xen-2.6.18-92.1.22.el5 + kernel-xen-2.6.18-128.1.1.el5 + kernel-xen-2.6.18-128.1.6.el5 + kernel-devel-2.6.18-92.1.22.el5 + kernel-devel-2.6.18-128.1.1.el5 + kernel-devel-2.6.18-128.1.6.el5 + kernel-xen-devel-2.6.18-92.1.22.el5 + kernel-xen-devel-2.6.18-128.1.1.el5 + kernel-xen-devel-2.6.18-128.1.6.el5 + + +Check whether there is a newer kernel package in the repository:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/update.x86_64/all/ + # ls -1 kernel*-2.* | grep -v module | get-latest-RPM-from-RPM-list.pl - + ... + kernel-2.6.18-128.1.14.el5 + +Latest version of installed kernels is `2.6.18-128.1.6.el5` , latest +version in the repository is `2.6.18-128.1.14.el5`, i.e. new SLP +kernel modules have to be built. + +Check the diskspace of your build partition, 1G is ok:: + + # [gasser_m@tux50-64 all]$ df -hT /scratch + Filesystem Type Size Used Avail Use% Mounted on + /dev/mapper/VolGroup00-LogVol00 + ext3 14G 12G 1.6G 89% / + + +Is there a listing of all kernel module packages to be built? + + +Installation Of Kernel And Kernel-devel RPMS On 64 Bit SL5 Build System +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, + +Install new kernel and kernel-devel RPMS as root on tux50-64. + +RPMS for the following kernels are required: kernel, kernel-xen:: + + # [root@tux50-64] + # cd /afs/psi.ch/software/linux/dist/scientific/51/update.x86_64/all/ + # ls -1 kernel-{,devel-,xen-,xen-devel-}2.6.18-128.1.14.el5.x86_64.rpm + kernel-2.6.18-128.1.14.el5.x86_64.rpm + kernel-devel-2.6.18-128.1.14.el5.x86_64.rpm + kernel-xen-2.6.18-128.1.14.el5.x86_64.rpm + kernel-xen-devel-2.6.18-128.1.14.el5.x86_64.rpm + + # rpm -ivh kernel-{,devel-,xen-,xen-devel-}2.6.18-128.1.14.el5.x86_64.rpm + + warning: kernel-2.6.18-128.1.14.el5.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 82fd17b2 + Preparing... ########################################### [100%] + 1:kernel-xen-devel ########################################### [ 25%] + 2:kernel ########################################### [ 50%] + 3:kernel-devel ########################################### [ 75%] + 4:kernel-xen warning: /etc/modprobe.d/blacklist-firewire created as /etc/modprobe.d/blacklist-firewire.rpmnew + ########################################### [100%] + + +Installation Of Kernel And Kernel-devel RPMS On 32 Bit SL5 Build System +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, + +Again, login as root to your build system to install the kernel +packages. + +For the 32 bit system also the PAE kernel modules are required:: + + # [root@tukan50-32] + # cd /afs/psi.ch/software/linux/dist/scientific/51/update.i386/all/ + # ls -1 kernel-{,devel-,PAE-,PAE-devel-,xen-,xen-devel-}2.6.18-128.1.14.el5.i686.rpm + # rpm -ivh kernel-{,devel-,PAE-,PAE-devel-,xen-,xen-devel-}2.6.18-128.1.14.el5.i686.rpm + + +Installation Of SL5 Kernel Module SRPMS On Build Systems +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, + +Do this on both, the 32 and 64 bit build system. + +To build the kernel module RPMS the corresponding SRPMS have to be +installed on your build system first. + +List of SL5 kernel-module RPMS to be built for i686 and x86_64:: + + Name (without kernel version) Release Remarks + kernel-module-airprime 2.6.18-1.slp5 + kernel-module-atl2 1.0.40.2-1.slp5 + kernel-module-aufs 0.20070210.cvs-4.slp5 + kernel-module-firewire 2.6.18-2.slp5 + kernel-module-gspcav1 01.00.20-1.slp5 + kernel-module-iwlwifi 1.2.25-1.slp5 currently not builded + kernel-module-ntfs 2.1.27-0.rr.10.0 currently not builded + kernel-module-openafs 1.4.6-73.slp5 no SRPM, build script provided by A. Gsell + kernel-module-qla2xxx 8.01.07.15-1.slp5 + kernel-module-uvcvideo 0.1.0-1.svn148.slp5 + kernel-module-VMwareTools 6530-29999.slp5 no SRPM, build script provided by A. Gsell + kernel-module-gpfs texttext 64 bit only, no SRPM, build script provided by H.C. Stadler + + +Copy the PSI relevant source RPMS (SRPMS) to your build environment, +except sources of kernel modules ntfs, openafs, gpfs and +VMwareTools. They are built in their own environments. + +The SRPMS of the following 7 modules are required:: + + aufs firewire gspcav1 uvcvideo qla2xxx atl2 airprime + (see variable specfiles in /afs/psi.ch/software/linux/dist/scientific/51/scripts/build_kernel_modules.) + + +They can be found in the directory:: + + /afs/psi.ch/software/linux/dist/scientific/51/psi/all/ + + +Check for latest versions of required SRPMS:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/psi/all/ + # ll {aufs,firewire,gspcav1,uvcvideo,qla2xxx,atl2,airprime}*.src.rpm + + -rw-r--r-- 1 beyerle ait 7566 Apr 24 22:39 airprime-2.6.18-1.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 56446 Apr 8 11:43 atl2-1.0.40.2-1.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 77012 Apr 8 21:03 atl2-1.0.40.4-4.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 136658 Oct 1 2007 aufs-0.20070210.cvs-4.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 427554 Jul 16 10:48 aufs-0.20080605.cvs-5.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 295158 Aug 21 2007 firewire-2.6.18-1.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 295120 Jan 22 2008 firewire-2.6.18-2.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 217470 May 15 10:36 gspcav1-01.00.20-1.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 195078 Nov 12 2007 gspcav1-1.00.18-1.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 2015550 Mar 10 22:04 qla2xxx-8.01.07.15-1.slp5.src.rpm + -rw-r--r-- 1 beyerle ait 91123 Dec 7 2007 uvcvideo-0.1.0-1.svn148.slp5.src.rpm + + +The following versions were taken as the latest: (This list can be +found in the file +`tux50-64:/scratch/gasser_m/rpm_topdir/SRPMS/20090624-psi-src-rpms.list`.):: + + airprime-2.6.18-1.slp5.src.rpm + atl2-1.0.40.4-4.slp5.src.rpm + #aufs-0.20080605.cvs-5.slp5.src.rpm # kernel-module-aufs is in SL51update and SL54base now + firewire-2.6.18-2.slp5.src.rpm + gspcav1-01.00.20-1.slp5.src.rpm + qla2xxx-8.01.07.15-1.slp5.src.rpm + uvcvideo-0.1.0-1.svn148.slp5.src.rpm + + +For convenience copy them first to your $rpm_topdir/SRPMS/ and then +unpack them, if not yet done (being still gasser_m@tux50-64):: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/psi/all + # for i in `cat /scratch/gasser_m/rpm_topdir/SRPMS/20090624-psi-src-rpms.list` + # do + # cp $i /scratch/gasser_m/rpm_topdir/SRPMS/ + # done + + +Then install them into your build environment:: + + # cd /scratch/gasser_m/rpm_topdir/SRPMS/ + # rpm -ivh `cat 20090624-psi-src-rpms.list` + + 1:airprime ########################################### [100%] + 2:atl2 ########################################### [100%] + 3:aufs ########################################### [100%] + 4:firewire ########################################### [100%] + 5:gspcav1 ########################################### [100%] + 6:qla2xxx ########################################### [100%] + 7:uvcvideo ########################################### [100%] + + +Before continuing with building the kernel modules check out the notes +below referring to some of them. + + +Build SL5 PSI Kernel-module RPMS On The Build System +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, + +Now build the 64-bit modules:: + + # [gasser_m@tux50-64] + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts/ + # ./build_kernel_modules 2.6.18-164.11.1.el5 > \ + # UPDATE_LOG/20100125-build_kernel_modules-2.6.18-164.11.1.el5.x86_64.log 2>&1 + + +The following RPMS were built:: + + # cat ~/tmp/20090624-build_kernel_modules-2.6.18-128.1.14.el5.x86_64.output + + ... + --------------------------------------------------------------- + List of built kernel-modules for kernel 2.6.18-128.1.14.el5: + --------------------------------------------------------------- + + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-airprime-2.6.18-128.1.14.el5-2.6.18-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-airprime-2.6.18-128.1.14.el5xen-2.6.18-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-atl2-2.6.18-128.1.14.el5-1.0.40.4-4.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-atl2-2.6.18-128.1.14.el5xen-1.0.40.4-4.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-aufs-2.6.18-128.1.14.el5-0.20080605.cvs-5.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-aufs-2.6.18-128.1.14.el5xen-0.20080605.cvs-5.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-firewire-2.6.18-128.1.14.el5-2.6.18-2.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-firewire-2.6.18-128.1.14.el5xen-2.6.18-2.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-gspcav1-2.6.18-128.1.14.el5-01.00.20-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-gspcav1-2.6.18-128.1.14.el5xen-01.00.20-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-qla2xxx-2.6.18-128.1.14.el5-8.01.07.15-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-qla2xxx-2.6.18-128.1.14.el5xen-8.01.07.15-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-uvcvideo-2.6.18-128.1.14.el5-0.2.0-1.svn255.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-uvcvideo-2.6.18-128.1.14.el5xen-0.2.0-1.svn255.slp5.x86_64.rpm + /afs/psi.ch/project/linux/dist/slp5/RPMS/x86_64/kernel-module-gpfs-2.6.18-128.1.14.el5-3.2.1-12.3.slp5.psi.x86_64.rpm + /afs/psi.ch/project/linux/dist/slp5/RPMS/x86_64/kernel-module-openafs-2.6.18-128.1.14.el5-1.4.10-94.slp5.x86_64.rpm + /afs/psi.ch/project/linux/dist/slp5/RPMS/x86_64/kernel-module-openafs-2.6.18-128.1.14.el5xen-1.4.10-94.slp5.x86_64.rpm + /afs/psi.ch/project/linux/dist/slp5/RPMS/x86_64/kernel-module-VMwareTools-2.6.18-128.1.14.el5-6530-29999.slp5.x86_64.rpm + + List of files saved in /tmp/rpms_for_2.6.18-128.1.14.el5 ! + + +Note to Kernel Module Openafs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The openafs related build scripts are provided by Achim Gsell. + +If the kernel version is increased, the kernel-module-openafs has to +be built. + +If the Openafs version is increased, the kernel-module-openafs **AND** +the additional openafs RPMS (see list below) have to be built:: + + openafs + openafs-client + openafs-kpasswd + openafs-krb5 + + +One can use the following standalone script to built openafs modules. + +- `build-openafs.sl51.i386.sh` + + Standalone script for building and copying 32 bit openafs modules + +- `build-openafs.sl51.x86_64.sh` + + Standalone script for building and copying 64 bit openafs modules + + +Note to Kernel Module Uvcvideo +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +If building fails, download the latest uvcvideo version and compile +again:: + + # cd ~/tmp/ + # svn checkout http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk # see also in specfile + # mv trunk uvcvideo-svn255 + # tar cfzv uvcvideo-svn255.tar.gz uvcvideo-svn255/ + # scp uvcvideo-svn255.tar.gz tux50-64:/scratch/gasser_m/rpm_topdir/SOURCES/ + # ssh tux50-64 + # cd /scratch/gasser_m/rpm_topdir/SPECS/ + # vi uvcvideo.spec # Version: 0.2.0 + # %define date svn255 + # rpmbuild -ba --target x86_64 --define "kernel 2.6.18-92.1.13.el5" --define 'buildall 1' uvcvideo.spec + + ... + Wrote: /scratch/gasser_m/rpm_topdir/RPMS/x86_64/uvcvideo-0.2.0-1.svn255.slp5.src.rpm + Wrote: /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-uvcvideo-2.6.18-92.1.13.el5-0.2.0-1.svn255.slp5.x86_64.rpm + ... + + # echo "/scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-uvcvideo-2.6.18-92.1.13.el5-0.2.0-1.svn255.slp5.x86_64.rpm" >> \ + # /tmp/rpms_for_2.6.18-92.1.13.el5 + + +Don't forget to copy all the new modules to +`/afs/psi.ch/software/linux/dist/scientific/51/psi/all/`. + + +Check The Kernel Module Build Logs +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, + +Check the log files for errors and verify that all required modules +were built:: + + # grep -i error ~/tmp/20090624-build_kernel_modules-2.6.18-128.1.14.el5.x86_64.output + ... + checking your OS... configure: error: No usable linux headers found at /lib/modules/2.6.18-128.1.14.el5PAE/build + + exit 1 + error: Bad exit status from /scratch/gasser_m/rpm_tmp/rpm-tmp.69701 (%build) + Bad exit status from /scratch/gasser_m/rpm_tmp/rpm-tmp.69701 (%build) + ... + + +This error is ok, as there is no x86_64 PAE kernel at all:: + + # check-set-of-built-kernel-modules.bash /tmp/rpms_for_2.6.18-128.1.14.el5 \ + # KERNEL_MODULES_TO_BUILD/sl5.i386.kms-to-be-built + # Not all kernel module RPMS were built! + # Check RPM(s) for: 'VMwareTools' + + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-airprime-2.6.18-128.1.14.el5-2.6.18-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-airprime-2.6.18-128.1.14.el5xen-2.6.18-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-atl2-2.6.18-128.1.14.el5-1.0.40.4-4.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-atl2-2.6.18-128.1.14.el5xen-1.0.40.4-4.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-aufs-2.6.18-128.1.14.el5-0.20080605.cvs-5.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-aufs-2.6.18-128.1.14.el5xen-0.20080605.cvs-5.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-firewire-2.6.18-128.1.14.el5-2.6.18-2.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-firewire-2.6.18-128.1.14.el5xen-2.6.18-2.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-gspcav1-2.6.18-128.1.14.el5-01.00.20-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-gspcav1-2.6.18-128.1.14.el5xen-01.00.20-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-qla2xxx-2.6.18-128.1.14.el5-8.01.07.15-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-qla2xxx-2.6.18-128.1.14.el5xen-8.01.07.15-1.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-uvcvideo-2.6.18-128.1.14.el5-0.2.0-1.svn255.slp5.x86_64.rpm + /scratch/gasser_m/rpm_topdir/RPMS/x86_64/kernel-module-uvcvideo-2.6.18-128.1.14.el5xen-0.2.0-1.svn255.slp5.x86_64.rpm + /afs/psi.ch/project/linux/dist/slp5/RPMS/x86_64/kernel-module-gpfs-2.6.18-128.1.14.el5-3.2.1-12.3.slp5.psi.x86_64.rpm + /afs/psi.ch/project/linux/dist/slp5/RPMS/x86_64/kernel-module-VMwareTools-2.6.18-128.1.14.el5-6530-29999.slp5.x86_64.rpm + /afs/psi.ch/project/linux/dist/slp5/RPMS/x86_64/kernel-module-openafs-2.6.18-128.1.14.el5-1.4.10-94.slp5.x86_64.rpm + /afs/psi.ch/project/linux/dist/slp5/RPMS/x86_64/kernel-module-openafs-2.6.18-128.1.14.el5xen-1.4.10-94.slp5.x86_64.rpm + + +This also seems to be ok, as there was never a VMWare kernel module in +the repository for Xen and PAE kernel. + + +Copy The Kernel Module RPMS To The SL 5 Repository +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, + +Eventually, copy the built kernel module RPMS to the corresponding +PSI-ALL repository:: + + # cp -av `cat /tmp/rpms_for_2.6.18-128.1.14.el5` /afs/psi.ch/software/linux/dist/scientific/51/psi/all/ + + +Check whether the gpfs daemon and the gpfs kernel module RPMS were +copied, too, and have corresponding versions. + +Probably you have to build them first using +e.g. `build-gpfs.sl54.x86_64.sh` on tux50-64:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts/ + # ./build-gpfs.sl5x.x86_64.sh + # check-for-gpfs-occurence.bash 2.6.18-164.9.1.el5 3.2.1-16 4 51 + + # Begin checking for file occurence... + #/afs/psi.ch/software/linux/dist/scientific/51/nonfree/all/gpfs-3.2.1-16.4.slp5.psi.x86_64.rpm + # ok + #/afs/psi.ch/software/linux/dist/scientific/51/psi/all/kernel-module-gpfs-2.6.18-164.9.1.el5-3.2.1-16.4.slp5.psi.x86_64.rpm + # ok + #/afs/psi.ch/software/linux/dist/scientific/51/nonfree/all/gpfs-init-script-1.0-4.slp5.psi.x86_64.rpm + # ok + # End checking for file occurence. + + +Make The New Kernel Repository For SL5 +,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, + +The next two commands, `make kernel_all` and `make kernel`, will +process both architectures, i386 and x86_64. So you can run it only +once, after having built i386 and x86_64 kernel modules. + +Running `make kernel_all` will copy the built kernel module RPMS and +other kernel related RPMS from the corresponding ...-ALL to the +KERNEL-ALL directories, e.g.:: + + from: /afs/psi.ch/software/linux/dist/scientific/51/update.x86_64/all/ + to: /afs/psi.ch/software/linux/dist/scientific/51/kernel/all/ + + +Eventually `make kernel` will create the new kernel snapshot in +`/afs/psi.ch/software/linux/dist/scientific/51/kernel/`:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts/ + # make kernel_all > UPDATE_LOG/$(date +%Y-%m-%d)-make-kernel_all-2.6.18-164.11.1.el5.sl51.i386.x86_64.log 2>&1 + + # KERNEL_VER=2.6.18 KERNEL_REL=371.12.1.el5 make kernel + + +Follow the instructions at the end of the output of `make kernel` to +update symlinks, e.g:: + + # rm /afs/psi.ch/software/linux/dist/scientific/51/kernel/testing + # ln -s 2.6.18-371.12.1.el5 /afs/psi.ch/software/linux/dist/scientific/51/kernel/testing + + +Create Snapshots of Repositories +-------------------------------- + +Both architectures, i386 and x86_64, are treated by the following +commands. + +If new RPMS appear in a certain repository, which should be available +for the next update, a new snapshot is created for this repository. +The folder name of the snapshot will be equal to the current date. + +Create all snapshots at once (gfa excluded as Heiner Billich and Rene +Kapeller will create this snapshot). This can take up to one hour:: + + #[gasser_m@tux50] + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts + # nohup ./run_make_snapshots_all.sh & + + +As an alternative you could make a single snapshot of a certain +repository only. E.g. to make a snapshot of the `update` and `psi` +repos type:: + + # DIR=update make snapshot # DIR=update will set: ALL_DIRS="update.i386 update.x86_64" + # DIR=psi make snapshot + +`make snapshot` will execute +`/afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_snapshot`. +The command `createrepo` invoked in the shell script `.../mk_snapshot` +writes repodata for each snapshot to +e.g. `/afs/psi.ch/software/linux/dist/scientific/51/others/20090625/repodata/`. + +Release the snapshots for first level testing systems +----------------------------------------------------- + +The command `make release_testing` will update the respective symlinks +`.../testing` to the latest snapshots in all repos (again, except +`gfa`). + +Note: Because `make release_testing` is interactive, you should not +redirect the output to a file:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts/ + # make release_testing + +Before `make release_testing`: + +Note: The output below originates not from the same update as above, +this was 2008-08-27:: + + # [gasser_m@tux50] + # cd /afs/psi.ch/software/linux/dist/scientific/51/ + # \ls -l */testing + + lrwxr-xr-x 1 markushin ait 8 Aug 8 15:27 cluster/testing -> 20080808 + lrwxr-xr-x 1 markushin ait 8 Aug 8 15:27 enhanced/testing -> 20080808 + lrwxr-xr-x 1 billich ait 8 Aug 27 14:40 gfa/testing -> 20080827 + lrwxr-xr-x 1 markushin ait 8 Aug 8 15:27 kde-redhat/testing -> 20080808 + lrwxr-xr-x 1 markushin ait 18 Aug 8 15:27 kernel/testing -> 2.6.18-92.1.10.el5 + lrwxr-xr-x 1 markushin ait 8 Aug 8 15:27 nonfree/testing -> 20080808 + lrwxr-xr-x 1 markushin ait 8 Aug 8 15:27 others/testing -> 20080808 + lrwxr-xr-x 1 markushin ait 8 Aug 14 15:23 psi/testing -> 20080814 + lrwxr-xr-x 1 markushin ait 8 Aug 8 15:27 update.i386/testing -> 20080808 + lrwxr-xr-x 1 markushin ait 8 Aug 8 15:27 update.x86_64/testing -> 20080808 + + [gasser_m@tux50 51]$ \ls -l */current + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 cluster/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 enhanced/current -> 20080808 + lrwxr-xr-x 1 billich ait 8 Aug 27 14:40 gfa/current -> 20080827 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 kde-redhat/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 18 Aug 14 16:37 kernel/current -> 2.6.18-92.1.10.el5 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 nonfree/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 others/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 psi/current -> 20080814 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 update.i386/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 update.x86_64/current -> 20080808 + + +After `make release_testing`:: + + # [gasser_m@tux50] + # \ls -l */testing + + lrwxr-xr-x 1 gasser_m ait 8 Aug 28 14:58 cluster/testing -> 20080827 + lrwxr-xr-x 1 gasser_m ait 8 Aug 28 14:58 enhanced/testing -> 20080827 + lrwxr-xr-x 1 billich ait 8 Aug 27 14:40 gfa/testing -> 20080827 + lrwxr-xr-x 1 gasser_m ait 8 Aug 28 14:58 kde-redhat/testing -> 20080827 + lrwxr-xr-x 1 gasser_m ait 18 Aug 28 14:58 kernel/testing -> 2.6.18-92.1.10.el5 + lrwxr-xr-x 1 gasser_m ait 8 Aug 28 14:58 nonfree/testing -> 20080827 + lrwxr-xr-x 1 gasser_m ait 8 Aug 28 14:58 others/testing -> 20080827 + lrwxr-xr-x 1 gasser_m ait 8 Aug 28 14:58 psi/testing -> 20080827 + lrwxr-xr-x 1 gasser_m ait 8 Aug 28 14:58 update.i386/testing -> 20080827 + lrwxr-xr-x 1 gasser_m ait 8 Aug 28 14:58 update.x86_64/testing -> 20080827 + + [gasser_m@tux50 51]$ \ls -l */current + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 cluster/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 enhanced/current -> 20080808 + lrwxr-xr-x 1 billich ait 8 Aug 27 14:40 gfa/current -> 20080827 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 kde-redhat/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 18 Aug 14 16:37 kernel/current -> 2.6.18-92.1.10.el5 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 nonfree/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 others/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 psi/current -> 20080814 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 update.i386/current -> 20080808 + lrwxr-xr-x 1 gasser_m ait 8 Aug 14 16:37 update.x86_64/current -> 20080808 + + +Now, the `testing` symlinks point to the latest snapshots, while the +`current` symlinks still point to the previous snapshots. + + +Make First Tests +---------------- + +Manually update selected `testing` hosts (see `/etc/sysconfig/psi` and +`/etc/yum.conf`) with yum. The `testing` string is set in +`/etc/sysconfig/psi` and `/etc/yum.conf` (i.e. your computer is +looking for new RPMS in the `testing` snapshots):: + + # yum clean all + # yum update + +If there's a new kernel, reboot into this new kernel and especially +check whether the new kernel-module-openafs is working and AFS was +mounted. + +- Note to the `psi-update` script + +`psi-update` will not work at this point, because it's udpating only +if the PSI version has changed, what will be done later (see "Create A +New PSI Version Of SL51" below). `psi-update` will get the script +`yum_update` from our master, pxeserv01, see also `/etc/fstab`. The +script `yum_update` will be saved locally as +`/usr/sbin/psi-yum_update`. Afterwards `psi-yum_update` will be +executed locally. + + +Create A New PSI Version Of SL51 And Release It For Testing Systems +------------------------------------------------------------------- + +In this section a new PSI version is created and released for testing +systems. By default, Green Testing PCs will be auto updated during +the following night. + +The procedure shown here has to be repeated for all SL5 class/subclass +combinations. Contemporary there are three of them: + +1. Desktop/Stable +2. Desktop/Enhanced +3. Cnode/Stable + +To get an overview list the classes directories:: + + # [gasser_m@pc7377 Stable]$ ll -rt /afs/psi.ch/software/linux/dist/scientific/51/classes/* + + /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop: + total 10 + drwxr-xr-x 2 beyerle ait 2048 Jan 19 2008 StableTesting + drwxr-xr-x 2 beyerle ait 2048 Jan 19 2008 EnhancedTesting + drwxr-xr-x 15 beyerle ait 4096 Jul 2 17:11 Enhanced + drwxr-xr-x 15 beyerle ait 2048 Aug 11 14:19 Stable + + /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode: + total 4 + drwxr-xr-x 2 beyerle ait 2048 Jan 19 2008 StableTesting + drwxr-xr-x 15 beyerle ait 2048 Jul 2 17:11 Stable + + +Note: To change the list of RPMS of a certain class edit the +corresponding package list. + +E.g.: To add RPMS in update version 19 of SL51 Desktop/Stable edit +`list.Stable.v19`:: + + # vi /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/list.Stable.v19 + +IMPORTANT: If you add RPMS to the list, update also the RPM lists used +in the kickstart installation:: + + # vi /afs/psi.ch/software/linux/dist/scientific/51/kickstart/custom/DesktopStablei386/yum_install.conf + # vi /afs/psi.ch/software/linux/dist/scientific/51/kickstart/custom/DesktopStablex86_64/yum_install.conf + +- Note: The following tasks can also be performed using the script + `create-new-psi-version.bash`. + + +Desktop/Stable: Release Desktop Stable Testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Create folder for Version 19 by running make class:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/ + # cp list.Stable.v18 list.Stable.v19 + + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts/ + # CLASS=Desktop SUBCLASS=Stable version=19 LIST=list.Stable.v19 make class + + ###{ begin output make class + Populating Class directory ... + TOP_DIR=/afs/psi.ch/software/linux/dist/scientific/51 \ + /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class + + Configuration file /afs/psi.ch/software/linux/dist/scientific/51/scripts/dist-config + Running /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class ... + create version and release file + copy list.Stable.v19 to list + ------------------------------------------------------------------------------- + The directory /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMS-20080811 has been populated. + + RPMSv19 links to RPMS-20080811 + + Please check + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMS-20080811/version + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMS-20080811/release + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMS-20080811/list + + If you like to display a message for the user (one line) put it into + emacs /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMS-20080811/message + + If you want to release `testing`, link RPMSTesting to RPMSv19: + rm -f /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMSTesting + ln -s RPMSv19 /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMSTesting + + ------------------------------------------------------------------------------- + ... End of /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class + ###} end output make class + + +Now release it:: + + # rm -f /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMSTesting + # ln -s RPMSv19 /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Stable/RPMSTesting + + +Desktop/Enhanced: Release Desktop Enhanced Testing (also a lot of nonfree etc. stuff) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Create folder for Version 19 by running `make class`:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/ + # cp list.Enhanced.v18 list.Enhanced.v19 + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts/ + # CLASS=Desktop SUBCLASS=Enhanced version=19 LIST=list.Enhanced.v19 make class + + ###{ begin output + Populating Class directory ... + TOP_DIR=/afs/psi.ch/software/linux/dist/scientific/51 \ + /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class + + Configuration file /afs/psi.ch/software/linux/dist/scientific/51/scripts/dist-config + Running /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class ... + create version and release file + copy list.Enhanced.v19 to list + ------------------------------------------------------------------------------- + The directory /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMS-20080811 has been populated. + + RPMSv19 links to RPMS-20080811 + + Please check + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMS-20080811/version + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMS-20080811/release + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMS-20080811/list + + If you like to display a message for the user (one line) put it into + emacs /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMS-20080811/message + + If you want to release "testing", link RPMSTesting to RPMSv19: + rm -f /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMSTesting + ln -s RPMSv19 /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMSTesting + + ------------------------------------------------------------------------------- + ... End of /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class + ###} end output + + +Now release it:: + + # rm -f /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMSTesting + # ln -s RPMSv19 /afs/psi.ch/software/linux/dist/scientific/51/classes/Desktop/Enhanced/RPMSTesting + + +Cnode/Stable: Release Cnode Stable Testing +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Create folder for Version 19 by running `make class`:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/ + # cp list.Stable.v18 list.Stable.v19 + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts/ + # CLASS=Cnode SUBCLASS=Stable version=19 LIST=list.Stable.v19 make class + + ###{ begin output + Populating Class directory ... + TOP_DIR=/afs/psi.ch/software/linux/dist/scientific/51 \ + /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class + + Configuration file /afs/psi.ch/software/linux/dist/scientific/51/scripts/dist-config + Running /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class ... + create version and release file + copy list.Stable.v19 to list + ------------------------------------------------------------------------------- + The directory /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMS-20080811 has been populated. + + RPMSv19 links to RPMS-20080811 + + Please check + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMS-20080811/version + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMS-20080811/release + cat /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMS-20080811/list + + If you like to display a message for the user (one line) put it into + emacs /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMS-20080811/message + + If you want to release "testing", link RPMSTesting to RPMSv19: + rm -f /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMSTesting + ln -s RPMSv19 /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMSTesting + + ------------------------------------------------------------------------------- + ... End of /afs/psi.ch/software/linux/dist/scientific/51/scripts/mk_class + ###} end output + + +Now release it:: + + # rm -f /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMSTesting + # ln -s RPMSv19 /afs/psi.ch/software/linux/dist/scientific/51/classes/Cnode/Stable/RPMSTesting + + +Test the Update On Testing Systems +---------------------------------- + +On a testing system run:: + + [root@tux50] + # psi-update + + +Release The Update PSI Wide For Productive Systems +-------------------------------------------------- + +Run:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts/ + # make current_equal_testing + + +Refresh symbolic links in the `RPMS_all` folder to all respective +RPMS:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51/scripts + # make rpms_all + + +Test The Update On Productive Systems +------------------------------------- + +On a productive (=current) system run:: + + # psi-update + + +Update The Webpages +=================== + +Reference +--------- + +https://wiki.intranet.psi.ch/AIT/LinuxRegularUpdate#Update_the_Webpages + +*Possibly it's better to move the reference to the top Reference +section. This section is still in a very sketch state anyway.* + + +General Info to Webpages Providing SL Update Infos +-------------------------------------------------- + +The website is public to PSI.#??? or to everybody? + +The site provides information about the SL update progress for users +at PSI. + +Location of the website: + + On AFS: /afs/psi.ch/project/ait/www/services/linux/updates/ + On WWW: http://ait.web.psi.ch/services/linux/updates/ + + +Update the following Webpages: + +- http://ait.web.psi.ch/services/linux/updates/ + +- http://ait.web.psi.ch/services/linux/updates/update_sl5.html + +- http://ait.web.psi.ch/services/linux/updates/update_sl4.html + +- http://ait.web.psi.ch/services/linux/updates/update_sl3.html + + +- Objective + +Show the updated RPMS between current and the release before. Reduce +amount of info to a reasonable minimum and represent clearly for +users. Don't show RPMS, which are in the repository but will not be +installed because of a newer version of this RPM in the same snapshot. + + +Script location: /afs/psi.ch/project/ait/www/services/linux/updates/ + find_new_rpms_between 20080626 51 18 20080808 51 19 The command + above will not yet work on SL5, because of directory layout + changes between SL4 and SL5. For now we will take another + procedure to prepare the HTML files. + +The following command will show some first scratch of an alternative +way to get the list with updated RPMS:: + + # cd /afs/psi.ch/software/linux/dist/scientific/51 + # diff <( ls -1 */testing/ | sort ) <( ls -1 */current/ | sort ) | grep '^<' | sed -e 's/.i.86.rpm//' -e 's/.x86_64.rpm//' | uniq + +What do we need? In SL5 we have the following classes/subclasses:: + + # + + ¦---Stable + ¦-Cnode---¦ + ¦ ¦---StableTesting + ¦ + ¦ + sl5---¦ + ¦ ¦--Stable + ¦ ¦ + ¦ ¦--StableTesting + ¦-Desktop-¦ + ¦--Enhanced + ¦ + ¦--EnhancedTesting + + + ls -1 */testing/ | grep -v testing | grep -v x86_64 | sort > ~/tmp/sl51-v19-ls-asterisk-testing-sort-out + ls -1 */current/ | grep -v current | grep -v x86_64 | sort > ~/tmp/sl51-v19-ls-asterisk-current-sort-out + /afs/psi.ch/user/g/gasser_m/tmp/ + mengen.py -D sl51-v19-ls-asterisk-testing-sort-out sl51-v19-ls-asterisk-current-sort-out > sl51-v19-mengen-out + get-latest-RPM-from-RPM-list.pl sl51-v19-mengen-out > sl51-v19-updated-RPMS.list + + +From sl51-v19-updated-RPMS.list take the list to insert into the HTML +update site. Edit file +`/afs/psi.ch/project/ait/www/services/linux/updates/update_sl5.html`. + + +Are all clients up-to-date? +--------------------------- + +Login to pxeserv01. + +Note to puppet and `/etc/sysconfig/psi` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Even puppet and not cfengine is running on SL5, latest copies of +`ANYHOST:/etc/sysconfig/psi` from SL3, SL4 and SL5 systems are put to +`pxeserv01:/opt/cfengine/sysconfig/`:: + + # cd /opt/cfengine/scripts + # ./find_hosts_with_old_version.sh 98 71 20 + + running... + ./cfengine.lcmeg01:VERSION=70 + ./cfengine.lclth01:VERSION=70 + ./cfengine.lclev03:VERSION=70 + ./cfengine.pc7148:VERSION=18 + ./cfengine.lclev01:VERSION=70 + ./cfengine.lclth04:VERSION=70 + ./cfengine.pc6702:VERSION=69 + ./cfengine.lclth07:VERSION=70 + ./cfengine.pc3384:VERSION=97 + ./cfengine.slsnedi1:VERSION=17 + ./cfengine.pc5082:VERSION=91 + ./cfengine.lpc4358:VERSION=69 + ./cfengine.lclev05:VERSION=70 + ./cfengine.lclth08:VERSION=70 + ./cfengine.lclth02:VERSION=70 + ./cfengine.llc6:VERSION=69 + ./cfengine.lclrs11:VERSION=69 + ./cfengine.pc5835:VERSION=96 + ./cfengine.lclth06:VERSION=70 + ./cfengine.tux40e:VERSION=70 + ./cfengine.lclev02:VERSION=70 + ./cfengine.lclth03:VERSION=70 + ./cfengine.pc4426:VERSION=17 + ./cfengine.pcmic01:VERSION=70 + ./cfengine.lclth05:VERSION=70 + done! + + +If a host is not up-to-date, login to the host and run manually:: + + # psi-update + + +You may also want to check the logs in `/var/log/update/` diff --git a/admin-guide/legacy/misc/vpnclientlinux.rst b/admin-guide/legacy/misc/vpnclientlinux.rst new file mode 100644 index 00000000..9a18d1ce --- /dev/null +++ b/admin-guide/legacy/misc/vpnclientlinux.rst @@ -0,0 +1,46 @@ +VPN Client on Linux +=================== + +References +---------- + +- vpnc manpage + +Requirements +------------ + +- VPN Client Package + + +Procedure +--------- + +Installation +~~~~~~~~~~~~ + +Login as localadmin (Green PC) or root (Red PC) and install the VPN +related packages:: + + # yum install vpnclient-psi + # yum install vpnc + +Configuration +~~~~~~~~~~~~~ + +For Users +......... + +You don't have to configure anything manually, the configuration was +done by installing the `vpnclient-psi` package. + +For Packager +............ + +The default configuration files are `/etc/vpnc/default.conf` and +`/etc/vpnc.conf`. + +The Cisco VPN client config file `vpn-psi.pcf` for PSI is provided by +Tobias Marx. The command `/usr/share/doc/vpnc-0.5.3/pcf2vpnc` is used +to convert the `.pcf` to `.conf`:: + + # perl /usr/share/doc/vpnc-0.5.3/pcf2vpnc vpn-psi.pcf vpn-psi.conf diff --git a/admin-guide/legacy/monitoring.rst b/admin-guide/legacy/monitoring.rst new file mode 100644 index 00000000..1af84102 --- /dev/null +++ b/admin-guide/legacy/monitoring.rst @@ -0,0 +1,34 @@ +Monitoring and Reporting +======================== + + +Cron jobs +--------- + +Cron jobs send mail on error, usually to `linuxmaster@psi.ch`, a +distribution list. + + +Nagios/Icinga +------------- + + +Ganglia +------- + + +Other +----- + +Some systems dump information in +``/afs/psi.ch/service/linux/statistics/rawdata``. Others save it to +``/afs/psi.ch/intranet/Controls/tmp/sysreport/PSI``. + +The PXE server `pxeserv01` regularly runs a script, +`/afs/psi.ch/service/linux/tftpboot/tools/script/pxe_script`, which copies +`/var/log/tftp.log` to `/afs/psi.ch/service/linux/tftpboot/tools/log/`, +compresses it, and produces statistics, which are saved as `pxeStatistik-$(date ++%Y%m%d).txt`. + +The script is currently run as user `vojisavljevic` and the run is configured in +that user's crontab. diff --git a/admin-guide/legacy/puppet.rst b/admin-guide/legacy/puppet.rst new file mode 100644 index 00000000..10a71c92 --- /dev/null +++ b/admin-guide/legacy/puppet.rst @@ -0,0 +1,8 @@ +Puppet +====== + +There have been and still are several instances of Puppet PSI. + +- ``pxeserv01`` (obsolete, no puppetmaster running) +- ``psi-puppet3`` (used by Controls-IT) +- ``psi-puppet4`` diff --git a/admin-guide/legacy/services.rst b/admin-guide/legacy/services.rst new file mode 100644 index 00000000..94d31a31 --- /dev/null +++ b/admin-guide/legacy/services.rst @@ -0,0 +1,19 @@ +Services +======== + +Login cluster +------------- + +The login cluster allows users to run interactive programs. The +cluster consists of several nodes `llcN.psi.ch`, where N is 1, 2, +or 3. There is also a load-balancer, `llclb1.psi.ch`, which uses IPVS +with a round robin policy to distribute incoming connections. + + +Jump hosts +---------- + +Many servers can only be accessed via SSH through one of the two jump +hosts, `wmgt01.psi.ch` and `wmgt02.psi.ch`. These two systems require +two-factor authentication (currently using a Cryptocard dongle) and +offer a very restricted environment. diff --git a/admin-guide/legacy/software.rst b/admin-guide/legacy/software.rst new file mode 100644 index 00000000..be93dbd5 --- /dev/null +++ b/admin-guide/legacy/software.rst @@ -0,0 +1,10 @@ +Software +======== + +.. toctree:: + :maxdepth: 1 + + software/repositories + software/packaging + software/modules + diff --git a/admin-guide/legacy/software/modules.rst b/admin-guide/legacy/software/modules.rst new file mode 100644 index 00000000..cdeec908 --- /dev/null +++ b/admin-guide/legacy/software/modules.rst @@ -0,0 +1,26 @@ +Modules +======= + +The Scientific Computing team provides a number of programs using Modules. The +Modules configuration files and the corresponding software are stored on AFS. + +To use Modules it is necessary to create a symlink:: + + ln -snf /afs/psi.ch/sys/psi.x86_64.slp6/ /opt/psi + +where ``x86_64.slp6`` describes the architecture and OS of the system the +modules should be used on. It is the output of ``fs sysname``. Every session +needs to ``source /opt/psi/config/profile.bash`` as well. + +The available modules can be listed by running:: + + module avail + +Note that the modules are hierarchical, i.e. only the modules that can actually +be loaded are listed. Some modules require that other modules are loaded first, +e.g. a certain version of gcc, and are listed only after that has been done. + +Modules are loaded by running:: + + module load gcc/4.7.3 + diff --git a/admin-guide/legacy/software/packaging.rst b/admin-guide/legacy/software/packaging.rst new file mode 100644 index 00000000..8ac7239f --- /dev/null +++ b/admin-guide/legacy/software/packaging.rst @@ -0,0 +1,35 @@ +Packaging +========= + +Currently, the two most important custom packages are OpenAFS and GPFS +(see below), but there are many others. The sources and spec files +for RPMs are stored on AFS in +`/afs/psi.ch/project/linux/src/scientific/RPMS/` and +`/afs/psi.ch/project/linux/src/RPMS/`. They should be - and partially +have been - moved to Gitlab, group `linux-packages`. + + +Build hosts +----------- + + +OpenAFS +------- + + +GPFS +---- + +The source files for GPFS as well as certain tools for building the +packages are stored in +`/afs/psi.ch/project/linux/src/scientific/RPMS/gpfs/`. The +`README.build` file in that directory contains instructions on how to +build GPFS for a given combination of GPFS version and kernel version. + +The files `default-version.${release}.${architecture}` contain the +GPFS Release and supported versions for the specific `${release}` and +`${architecture}`, e.g.:: + + GPFSVERSION="3.5.0-24 4.1.1-4" + GPFSRELEASE=7 + diff --git a/admin-guide/legacy/software/repositories.rst b/admin-guide/legacy/software/repositories.rst new file mode 100644 index 00000000..96b68919 --- /dev/null +++ b/admin-guide/legacy/software/repositories.rst @@ -0,0 +1,245 @@ +Repositories +============ + +A number of repositories are currently mirrored on AFS under +``/afs/psi.ch/software/mirror`` (``$MIRROR``), in particular the following +versions of Scientific Linux, both 32 and 64 bit: 5.7, 6.0, 6.4, and 6.x. + +The repositories are accessible via HTTP at http://linux.web.psi.ch/. + +They are stored in ``$MIRROR/scientific``, each subdirectory of which +is a mount point for a separate AFS volume. This is done because +smaller AFS volumes are easier to handle (e.g. when moving them +between fileservers). + +Each mirror, e.g. ``$MIRROR/scientific/60/epelp/`` contains a +subdirectory ``all``, which contains the packages that we actually +want in our YUM repositories. + +Repository management as well as package building can be done on the +various ``tux*.psi.ch`` servers. + +Further documentation on repository management can be found in +``/afs/psi.ch/project/linux/doc``. This documentation will eventually +be included in this document. + +The directory ``$MIRROR/scientific/scripts`` contains scripts for +various tasks related to managing the Scientific Linux repositories. +It is a working copy of a [git +repository](http://git.psi.ch/linux-dist/sl-scripts). + + +Tools +----- + +There are several scripts that are used to maintain/update the various +repositories. + + +``sync_updates.sh`` +~~~~~~~~~~~~~~~~~~~ + +This script copies new packages from the SL mirror to the PSI distribution +directories, and runs ``createrepo --update`` to update the repository metadata. + +Information on the directories is read from a file ``dist-config`` in the +current working directory. + + +``update_symlinks`` +~~~~~~~~~~~~~~~~~~~ + + + + + +Updates +------- + +To release updates to the existing repositories, the steps below have to be +performed. The value of ``DIST_DIR`` is the base directory of the distribution +to be updated, i.e. ``/afs/psi.ch/software/linux/dist/scientific/xx/``, where +``xx`` is one of ``57``, ``60``, or ``64``. + +1. Update add-on repositories +2. cd "${DIST_DIR}/scripts" +3. ./sync_updates.sh +4. ./update_symlinks.sh +5. ./create_snapshots.sh alldirs +6. ./release_unstable.sh +7. ./incr_version.sh +8. ./update_version_info.sh +9. test new unstable release +10. ./release.sh testing +11. ./update_version-info.sh +12. test testing release +13. ./release.sh stable +14. ./update_version-info.sh + +The sections below describe each step in detail. The value of ``PRJ_DIR`` is +``/afs/psi.ch/project/linux/``. + + +Kernel updates +~~~~~~~~~~~~~~ + +If there is a new kernel, some of the modules need to be rebuilt. For SL 5.7 +there is a script in the ``scripts`` subdirectory taking care of this: +``build_kernel_modules.sh``. + + +Update add-on repositories +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +GPFS +,,,, + + rsync --archive --verbose ${PRJ_DIR}/dist/slp6/RPMS/*/kmod-gpfs* "${DIST_DIR}/psi/all" + rsync --archive --verbose ${PRJ_DIR}/dist/slp6/RPMS/*/gpfs* "${DIST_DIR}/nonfree/all" + +Notes: + +- Don't know why the kernel modules for GPFS are in 'psi' but the GPFS user-land + software is in 'nonfree'. +- Hans-Christian is responsible for building RPMs + + +OpenAFS +,,,,,,, + +Note: OpenAFS version on tux50 and tux50-64 is 1.4.x. On all other systems it is 1.6.x. + +Build OpenAFS ++++++++++++++ + +On tux50, tux50-64, tux60-tux60-64, tux70. + +Either:: + + rsync --verbose ${PRJ_DIR}/dist/slp6/RPMS/*/kernel-module-openafs-* "${DIST_DIR}/psi/all" + +or: copy decicated versions + +Notes: Achim is responsible for building OpenAFS RPMs. + +Checklist ++++++++++ + +New version available? If yes, build binaries: + +========= ===== ========= ======== +OS New? Compiled Copied? +--------- ----- --------- -------- +tux50 no +tux50-64 no +tux60 yes yes yes +tux60-64 yes yes yes +tux70-64 yes yes yes +========= ===== ========= ======== + +New kernel or version available? If yes, install kernel, build module: +========= ===== ========= ======== +OS New? Compiled Copied? +--------- ----- --------- -------- +tux50 no - - +tux50-64 no - - +tux60 yes yes yes +tux60-64 yes yes yes +tux70-64 yes yes yes +========= ===== ========= ======== + +ZFS +,,, + +ZFS kernel modules are available for EL7 only! + +Sync from master repository ++++++++++++++++++++++++++++ + +Run on tux70-64 as normal user:: + + reposync --repoid=zfs --norepopath --download_path /afs/psi.ch/software/mirror/zfsonlinux/7/x86_64 + +Build kmod +++++++++++ + +Build on tux70-64 as root. + +Boot into the right (newest) kernel! This is the kernel we are going to build +the modules for. Run:: + + # set some variables + $ ZFS_VERS='x.y.z' + $ ZFS_REL='r' + $ ZFS_REPO_DIR='/afs/psi.ch/software/linux/dist/scientificlinux/7x/x86_64/zfs/' + $ DIST='el7' + $ ARCH='x86_64' + + $ cd /usr/src/spl-$ZFS_VERS + $ ./configure + $ make rpm-utils rpm-kmod + + # Install the spl packages, they are required to build zfs. + $ yum localinstall \ + kmod-spl-devel-$ZFS_VERS-$ZFS_REL.$DIST.$ARCH.rpm \ + kmod-spl-devel-kernel-$ZFS_VERS-$ZFS_REL.$DIST.$ARCH.rpm \ + kmod-spl-kernel-$ZFS_VERS-$ZFS_REL.$DIST.$ARCH.rpm \ + spl-$ZFS_VERS-$ZFS_REL.$DIST.$ARCH.rpm + + $ cd ../zfs-x.y.z + $ ./configure + $ make rpm-utils rpm-kmod + + # you need an AFS-token to copy the files! + $ klog.openafs USERNAME + + # for a new ZFS version do + $ cp -v spl-$ZFS_VERS/*.x86_64.rpm "$ZFS_REPO_DIR" + $ cp -v zfs-$ZFS_VERS/*.x86_64.rpm "$ZFS_REPO_DIR" + + # to copy kernel modules only, do + $ cp -v spl-$ZFS_VERS/kmod-*-$(uname -r)*.x86_64.rpm "$ZFS_REPO_DIR" + $ cp -v zfs-$ZFS_VERS/kmod-*-$(uname -r)*.x86_64.rpm "$ZFS_REPO_DIR" + + # update repo + $ cd "$ZFS_REPO_DIR" + $ createrepo --update . + +See also: ``_ + +Checklist ++++++++++ + +If there is a new version: Are the RPM of the new versions of spl-x.y.z and +zfs-x.y.z in ``/afs/psi.ch/software/linux/dist/scientificlinux/7x/x86_64/zfs/``? + +Are the kmod-RPM's for the newest kernel in +``/afs/psi.ch/software/linux/dist/scientificlinux/7x/x86_64/zfs/``? + +Flash Player +,,,,,,,,,,,, + +Download +++++++++ + +Current Flash-Player must be downloaded from `Adobe +`_ and copied to +``${DIST_DIR}/nonfree/all``. + +Checklist ++++++++++ + +Is the newest version installed in +``/afs/psi.ch/software/linux/dist/scientific/xx/nonfree/all/`` (``xx`` in +``57``, ``60``, ``64``)? + + +NVidia +,,,,,, + +syslog-ng +,,,,,,,,, + +openntpd +,,,,,,,, + diff --git a/admin-guide/legacy/storage.rst b/admin-guide/legacy/storage.rst new file mode 100644 index 00000000..78186451 --- /dev/null +++ b/admin-guide/legacy/storage.rst @@ -0,0 +1,10 @@ +Storage +======= + +Currently, data is generally stored on AFS. In particular: + +- ``/afs/psi.ch/software/mirror``: Mirrors of external repositories and + software, e.g. CentOS, EPEL. +- ``/afs/psi.ch/software/linux/kickstart``: Kickstart files and related + tools/packages. +- ``/afs/psi.ch/software/linux/dist/``: YUM repositories used at PSI. diff --git a/admin-guide/make.bat b/admin-guide/make.bat new file mode 100644 index 00000000..e2b70b4a --- /dev/null +++ b/admin-guide/make.bat @@ -0,0 +1,190 @@ +@ECHO OFF + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set BUILDDIR=_build +set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% . +set I18NSPHINXOPTS=%SPHINXOPTS% . +if NOT "%PAPER%" == "" ( + set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% + set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% +) + +if "%1" == "" goto help + +if "%1" == "help" ( + :help + echo.Please use `make ^` where ^ is one of + echo. html to make standalone HTML files + echo. dirhtml to make HTML files named index.html in directories + echo. singlehtml to make a single large HTML file + echo. pickle to make pickle files + echo. json to make JSON files + echo. htmlhelp to make HTML files and a HTML help project + echo. qthelp to make HTML files and a qthelp project + echo. devhelp to make HTML files and a Devhelp project + echo. epub to make an epub + echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter + echo. text to make text files + echo. man to make manual pages + echo. texinfo to make Texinfo files + echo. gettext to make PO message catalogs + echo. changes to make an overview over all changed/added/deprecated items + echo. linkcheck to check all external links for integrity + echo. doctest to run all doctests embedded in the documentation if enabled + goto end +) + +if "%1" == "clean" ( + for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i + del /q /s %BUILDDIR%\* + goto end +) + +if "%1" == "html" ( + %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/html. + goto end +) + +if "%1" == "dirhtml" ( + %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. + goto end +) + +if "%1" == "singlehtml" ( + %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. + goto end +) + +if "%1" == "pickle" ( + %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the pickle files. + goto end +) + +if "%1" == "json" ( + %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can process the JSON files. + goto end +) + +if "%1" == "htmlhelp" ( + %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run HTML Help Workshop with the ^ +.hhp project file in %BUILDDIR%/htmlhelp. + goto end +) + +if "%1" == "qthelp" ( + %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; now you can run "qcollectiongenerator" with the ^ +.qhcp project file in %BUILDDIR%/qthelp, like this: + echo.^> qcollectiongenerator %BUILDDIR%\qthelp\LinuxInfrastructure.qhcp + echo.To view the help file: + echo.^> assistant -collectionFile %BUILDDIR%\qthelp\LinuxInfrastructure.ghc + goto end +) + +if "%1" == "devhelp" ( + %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. + goto end +) + +if "%1" == "epub" ( + %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The epub file is in %BUILDDIR%/epub. + goto end +) + +if "%1" == "latex" ( + %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex + if errorlevel 1 exit /b 1 + echo. + echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. + goto end +) + +if "%1" == "text" ( + %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The text files are in %BUILDDIR%/text. + goto end +) + +if "%1" == "man" ( + %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The manual pages are in %BUILDDIR%/man. + goto end +) + +if "%1" == "texinfo" ( + %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. + goto end +) + +if "%1" == "gettext" ( + %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale + if errorlevel 1 exit /b 1 + echo. + echo.Build finished. The message catalogs are in %BUILDDIR%/locale. + goto end +) + +if "%1" == "changes" ( + %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes + if errorlevel 1 exit /b 1 + echo. + echo.The overview file is in %BUILDDIR%/changes. + goto end +) + +if "%1" == "linkcheck" ( + %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck + if errorlevel 1 exit /b 1 + echo. + echo.Link check complete; look for any errors in the above output ^ +or in %BUILDDIR%/linkcheck/output.txt. + goto end +) + +if "%1" == "doctest" ( + %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest + if errorlevel 1 exit /b 1 + echo. + echo.Testing of doctests in the sources finished, look at the ^ +results in %BUILDDIR%/doctest/output.txt. + goto end +) + +:end diff --git a/admin-guide/mgmt-tools.rst b/admin-guide/mgmt-tools.rst new file mode 100644 index 00000000..a4027d90 --- /dev/null +++ b/admin-guide/mgmt-tools.rst @@ -0,0 +1,10 @@ +Management Tools +================ + +.. toctree:: + :maxdepth: 2 + + mgmt-tools/sysdb + mgmt-tools/bob + mgmt-tools/sphinx + mgmt-tools/puppetdb diff --git a/admin-guide/mgmt-tools/bob.rst b/admin-guide/mgmt-tools/bob.rst new file mode 100644 index 00000000..db676d3f --- /dev/null +++ b/admin-guide/mgmt-tools/bob.rst @@ -0,0 +1,99 @@ +bob - a CLI sysdb client +======================== + +``bob`` is a command-line client for sysdb. It supports adding, updating, and +retrieving information about environments, nodes, MAC addresses and attributes. +It can authenticate using Kerberos credentials or username/password pairs. + + +Installation and setup +---------------------- + +For production use of bob there will be RPMs for bob and its dependencies. + +For the moment the steps are the following:: + + yum -y install python-setuptools python-requests-kerberos + git clone git@git.psi.ch:linux-infra/bob.git + cd bob + python setup.py install + + +Configuration +------------- + +``bob`` takes a number of arguments, one of which is the base URL of the sysdb +instance. It can be passed via ``--url BASEURL`` on the command-line, or using +the environment variable ``PSI_BOB_URL``. Therefore it is useful include the +following in your ``.bash_profile``:: + + PSI_BOB_URL=https://boot00.psi.ch/ + +Development +----------- +For development, the easiest way to use bob is the following:: + + pip install --user click + git clone XXX + cd YYY + pip install --user --editable . + +This will place a script ``bob`` in ``~/.local/bin``, which will reference the +code in the working directory of the repository clone. This way, local changes +in the source are effective immediately. It might be a good idea to use +``virtualenv`` to avoid installing dependencies system-wide. + +In addition to the ``PSI_BOB_URL`` it can be handy to also have the following +in your ``.bash_profile``:: + + alias bobtest='PSI_BOB_URL=https://boot00-test.psi.ch/ bob' + alias bobdev='PSI_BOB_URL=http://localhost:5000/ bob' + +During development sysdb usually listens on ``localhost:5000`` and doesn't use +SSL, explaining the second alias. It also doesn't support authentication, +instead expecting to find the username in the ``REMOTE_USER`` header. The latter +can be set using the ``--fake-user`` option in bob or using the ``-H`` option in +cURL:: + + bobdev --fake-user kaminski_k node set-attr foo.psi.ch ipxe_installer=rhel72server + + curl -X PUT -H REMOTE_USER:talamo_i http://localhost:5000/sysdb/v1/ + +Attributes +---------- + +The following attributes can be set for a node: + ++------------------------+------------------+-----------+------------------------------------------------------------------------------+ +| attribute name | sample value | mandatory | meaning | ++========================+==================+===========+==============================================================================+ +| ``ipxe_installer`` | rhel73installer | yes | the installation entry to use at installation time via IPXE | ++------------------------+------------------+-----------+------------------------------------------------------------------------------+ +| ``network`` | static | yes | network setup of the installed system. can be ``static`` or ``dhcp`` | ++------------------------+------------------+-----------+------------------------------------------------------------------------------+ +| ``puppet_env`` | prod | yes | puppet environment | ++------------------------+------------------+-----------+------------------------------------------------------------------------------+ +| ``puppet_role`` | ``role::server`` | yes | puppet role of the node. String should start with ``role::`` | ++------------------------+------------------+-----------+------------------------------------------------------------------------------+ +| ``puppet_group`` | computing | no | defines the group for the hiera values. If not set takes the ``default`` one | ++------------------------+------------------+-----------+------------------------------------------------------------------------------+ + + +root password +~~~~~~~~~~~~~ + +The root password can be set with the attribute ``rootpw``. The value +of the attribute must be the password hash, and can be generated with the command +``openssl passwd -1 "this is the password"`` + +partitions +~~~~~~~~~~ + +Partition schema can be passed as a url using the ``partitions`` attribute. +It must be a publicly accessible url and its content will be copied into the +kickstart section related to the partition. + +The usage of this attribute is generally discouraged and is provided to cover +only the cases that are not actually already covered by the installation system, +eg. the software raid configuration. + diff --git a/admin-guide/mgmt-tools/puppetdb.rst b/admin-guide/mgmt-tools/puppetdb.rst new file mode 100644 index 00000000..8596ded4 --- /dev/null +++ b/admin-guide/mgmt-tools/puppetdb.rst @@ -0,0 +1,52 @@ +puppetdb +======== + +Authentication +-------------- + +We need a client certificate (including the key) accepted by the Puppet server +for authentication. On Puppet-enabled nodes the node's certificate works, ie + +- Certificate: ``/etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem`` +- Key: ``/etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem`` + +These can be supplied to ``curl(1)`` using the ``--key``, ``--cert``, and +``--cacert`` options:: + + curl --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem \ + --key /etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem \ + --cert /etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem \ + https://puppet00.psi.ch:8080/pdb/query/v4/nodes + + +Queries +------- + +There are several API endpoints, eg. ``/pdb/query/v4`` (note that there is no +``/`` at the end), or ``/pdb/query/v4/nodes``. + + +Examples +-------- + +First, let's define a function to simplify the queries:: + + function pdb { + local pql=$1 + + curl --cacert /etc/puppetlabs/puppet/ssl/certs/ca.pem \ + --key /etc/puppetlabs/puppet/ssl/private_keys/$(hostname -f).pem \ + --cert /etc/puppetlabs/puppet/ssl/certs/$(hostname -f).pem \ + -H content-type:application/json --data "{ \"query\": \"$pql\" }" \ + https://puppet00.psi.ch:8080/pdb/query/v4 | json_reformat + } + + +List all nodes:: + + pdb "nodes[certname] { order by certname }" + + +List environments and times of the last Puppet run:: + + pdb "reports[certname,environment,start_time,end_time] { order by certname }" diff --git a/admin-guide/mgmt-tools/sphinx.rst b/admin-guide/mgmt-tools/sphinx.rst new file mode 100644 index 00000000..6811db6c --- /dev/null +++ b/admin-guide/mgmt-tools/sphinx.rst @@ -0,0 +1,40 @@ +Sphinx +====== + +`Sphinx `_ is a tool for generating +documentation from `reStructuredText +`_. + +It can generate various formats, including HTML and PDF. + + +Installing Sphinx +----------------- + +On RHEL 7 it is enough to install the ``python-sphinx`` package:: + + yum install python-sphinx + + +Editing +------- + +On Linux with the ``inotify-tools`` it is easy to have the documentation recompiled +automatically while editing. Just run the following in the base directory of the +documentation:: + + inotifywait --monitor --recursive --event close_write --exclude '_build' . | while read l; do make html;done + +On OSX you can install `fswatch `_ and then run the following:: + + fswatch --exclude=_build --monitor=fsevents_monitor --recursive --event Updated --event Created --event Renamed .| while read l; do make html ;done + +An even better alternative is `sphinx-autobuild +`_, which can be installed using +pip:: + + pip install sphinx-autobuild + +It can then be called like this:: + + sphinx-autobuild /path/to/sphinx/repo /path/to/sphinx/repo/_build/html/ diff --git a/admin-guide/mgmt-tools/sysdb.rst b/admin-guide/mgmt-tools/sysdb.rst new file mode 100644 index 00000000..24992d6b --- /dev/null +++ b/admin-guide/mgmt-tools/sysdb.rst @@ -0,0 +1,20 @@ +sysdb +===== + +sysdb is a simple database holding information relevant to system deployment, +including + +#. a MAC to FQDN mapping + +#. whether to boot from local disk or install + +#. if installation is requested, which distribution/release to install + +#. which environment a system belongs to, and who can manage the environment + +#. arbitrary key-value pairs which can be used to store additional information + like the Puppet role of a system. + +sysdb runs on the boot server, ie. ``boot00.psi.ch`` (production) and +``boot00-test.psi.ch`` (testing). + diff --git a/admin-guide/more.rst b/admin-guide/more.rst new file mode 100644 index 00000000..6fe14c04 --- /dev/null +++ b/admin-guide/more.rst @@ -0,0 +1,8 @@ +More +==== + + +.. toctree:: + :maxdepth: 2 + + more/network diff --git a/admin-guide/more/network.rst b/admin-guide/more/network.rst new file mode 100644 index 00000000..d7cec891 --- /dev/null +++ b/admin-guide/more/network.rst @@ -0,0 +1,9 @@ +Network +------- + +The production infrastructure systems, eg. ``puppet00.psi.ch``, are not +reachable from all networks. One example would be the DMZ. + +To allow the deployment and configuration in such networks, firewall changes are +necessary. Firewall changes can be requested through a Service Now Change +Request or Change Task. diff --git a/admin-guide/operations.rst b/admin-guide/operations.rst new file mode 100644 index 00000000..797b5f81 --- /dev/null +++ b/admin-guide/operations.rst @@ -0,0 +1,9 @@ +Operations +========== + +.. toctree:: + :maxdepth: 2 + + operations/certificates + operations/deployment + operations/version-control diff --git a/admin-guide/operations/certificates.rst b/admin-guide/operations/certificates.rst new file mode 100644 index 00000000..d59fa350 --- /dev/null +++ b/admin-guide/operations/certificates.rst @@ -0,0 +1,68 @@ +Managing SSL certificates +========================= + +We use QuoVadis certificates from Switch. + + +Requesting certificates +----------------------- + +First create a certificate signing request (CSR) like this, replacing ``$FQDN`` +and ``$ALIASES``:: + + cat >$FQDN.cnf <`_. + +This procedure is described in more detail at the `SWITCH website +`_. + +SWITCH will send an email including instructions on how to download the +certificate. + + +Renewing certificates +--------------------- + +Using the same configuration file as above, generate a new private key and CSR, +and submit the CSR as before. + + +Revoke certificates +------------------- + +When receiving the first mail from SWITCH as described in `Requesting +certificates`_ one has to create an account to download the certificate. Using +this account, certificates can be revoked at the `QuoVadis website +`_. diff --git a/admin-guide/operations/deployment.rst b/admin-guide/operations/deployment.rst new file mode 100644 index 00000000..6a54f39b --- /dev/null +++ b/admin-guide/operations/deployment.rst @@ -0,0 +1,41 @@ +Deployment +========== + +This section describes how to (re-)deploy Puppet-managed Linux systems. The general process is: + +1. Register the system with sysdb (only for new systems). +2. Tell sysdb to perform an installation on the next boot. +3. Reboot the system and trigger a PXE boot (usually by pressing F12 during + POST). + +On some systems it is not possible to use PXE boot. Either because the network +card doesn't support it/has a bug/doesn't work with iPXE, or because the system +is in a network from which TFTP requests to the boot server are not allowed. In +those cases it is possible to either boot iPXE from a USB stick or DVD, or to +simply boot the RHEL installer from DVD and point it at the Kickstart file +generated by sysdb. + + +Registration with sysdb +~~~~~~~~~~~~~~~~~~~~~~~ + +The easiest way to interact with sysdb is to use bob, a command-line client +written in Python. Alternatively it is possible to use the web API directly. + +First, add the new node:: + + bob node add $FQDN $ENV local + + +To be able to PXE boot we need to configure at least one MAC address for the new +node:: + + bob node add-mac $FQDN 00:50:56:aa:fe:9b + + +Finally we need to configure the installer to use, and the Puppet-related +parameters:: + + bob node set-attr $FQDN ipxe_installer=rhel72server + bob node set-attr $FQDN puppet_env=prod + bob node set-attr $FQDN puppet_role=role::server diff --git a/admin-guide/operations/version-control.rst b/admin-guide/operations/version-control.rst new file mode 100644 index 00000000..a0eafb28 --- /dev/null +++ b/admin-guide/operations/version-control.rst @@ -0,0 +1,85 @@ +Version Control +=============== + + +Setting up Git +-------------- + +Initialize Git to use your username and PSI email address, for example:: + + git config --global user.name kaminski_k + git config --global user.email kai.kaminski@psi.ch + + +Gitlab server +------------- + +We use the `PSI-internal Gitlab server `_ to host our +repositories. + + +Groups +------ + +Currently, all of our repositories are in the repository group ``linux-infra``. + + +Setting up a repository +----------------------- + + +Repositories containing code are configured along the following lines: + +1. Only fast-forward merges are allowed, no merge commits. +2. Merge requests require at least one approval (by someone other than the + requester). + + +Workflow +-------- + +Changes to repositories containing **only** documentation can simply be pushed +to the repository in question. + +Changes to repositories containing code, SPEC files, or anything else that is +not pure documentation, need to be reviewed - even if the change in question +only changes documentation. + +To implement a change, follow these steps: + +1. Create an issue on GitLab. +2. Create a feature branch with name starting with + `issue-n-description`. +3. Assign the issue to yourself when you start working on it. +4. Commit the change to the feature branch and push it. +5. Create a merge request mentioning the issue in the commit message + or in the merge request (see `this + `_ for + the syntax). +6. Wait for **someone else** to approve and apply the merge request. + + +Commit messages +~~~~~~~~~~~~~~~ + +A commit message follows the well-known `50/72 format +`_: 50 +characters for the first line of the commit message, followed by a blank line, +which is then followed by zero or more paragraphs with a maximal line-length of +72 characters. + +If the commit fixes an issue recorded on Gitlab (which it should), the commit +message must start with ``Fix #N:``, where ``N`` is the number of the issue. +This will automatically close the issue when the commit is merged into master. + + +Code reviews +~~~~~~~~~~~~ + +During a code review be sure to check for at least the following: + +1. adherence to the guidelines described in this document,e.g. PEP8-compliance + for Python code +2. solid implementation: edge cases and failures are considered and handled + appropriately, etc. Non-obvious bits are explained. +3. documentation has been written or changed as appropriate diff --git a/admin-guide/puppet.rst b/admin-guide/puppet.rst new file mode 100644 index 00000000..30a0c21e --- /dev/null +++ b/admin-guide/puppet.rst @@ -0,0 +1,16 @@ +Puppet +====== + +Puppet documentation goes here. + +Contents: + +.. toctree:: + :maxdepth: 2 + + puppet/general + puppet/client + puppet/puppet-master + puppet/hiera + puppet/modules + puppet/development diff --git a/admin-guide/puppet/client.rst b/admin-guide/puppet/client.rst new file mode 100644 index 00000000..277cf5d5 --- /dev/null +++ b/admin-guide/puppet/client.rst @@ -0,0 +1,33 @@ +Puppet client +------------- + +Puppet client run is executed once daily between 5AM and 8AM +(``puppet_client::exec_time`` in hiera data). + +The puppet client is executed via the ``pli-puppet-run`` system timer: :: + + + [root@lxdev04 ~]# systemctl list-timers + NEXT LEFT LAST PASSED UNIT ACTIVATES + Wed 2017-10-25 15:55:54 CEST 6h left Tue 2017-10-24 15:55:54 CEST 17h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service + Thu 2017-10-26 07:51:00 CEST 22h left Wed 2017-10-25 07:51:16 CEST 1h 5min ago pli-puppet-run.timer pli-puppet-run.service + + 2 timers listed. + Pass --all to see loaded but inactive timers, too. + +Puppet execution can be disabled for a certain amount of time with the +``/opt/pli/libexec/pli-puppet-disable`` command: :: + + [root@lxdev04 ~]# /opt/pli/libexec/pli-puppet-disable + puppet currently not disabled + [root@lxdev04 ~]# /opt/pli/libexec/pli-puppet-disable '1 week' + [root@lxdev04 ~]# /opt/pli/libexec/pli-puppet-disable + Puppet disabled until: Wed Nov 1 08:00:05 CET 2017 + [root@lxdev04 ~]# /opt/pli/libexec/pli-puppet-disable stop + Stopping + [root@lxdev04 ~]# /opt/pli/libexec/pli-puppet-disable + puppet currently not disabled + [root@lxdev04 ~]# + +The disabling time has to be in the ``date`` format (see date(1)). + diff --git a/admin-guide/puppet/components/grub2.rst b/admin-guide/puppet/components/grub2.rst new file mode 100644 index 00000000..6fc11ec9 --- /dev/null +++ b/admin-guide/puppet/components/grub2.rst @@ -0,0 +1,20 @@ +``grub2`` +========= + +This module provides a defined type to configure kernel arguments in grub2. + + +Defined Types +------------- + + +``grub2::kernel_arg`` +~~~~~~~~~~~~~~~~~~~~~ + +Modify a kernel argument. + +Parameters: + +- ``action``: one of 'add' and 'remove' +- ``value``: specifies the value for arguments of the form ``arg=value``, e.g. + ``crashkernel=auto``. diff --git a/admin-guide/puppet/components/logrotate.rst b/admin-guide/puppet/components/logrotate.rst new file mode 100644 index 00000000..3a679153 --- /dev/null +++ b/admin-guide/puppet/components/logrotate.rst @@ -0,0 +1,156 @@ +``logrotate`` +=========== + +This module configures ``logrotate``. Further information an examples can be +found in the following link: + +* https://git.psi.ch/linux-infra/voxpupuli-logrotate + +Main class ``logrotate`` can be called, but usually calling just a rule ``logrotate::rule`` +should be enough to automatically configure ``logrotate`` in the host. It will use the +default values for this class, which is placing all the default ``rules`` from the O.S. +to the ``/etc/logrotate.d`` directory. + +Parameters +---------- + +All available parameters are:: + + namevar - The String name of the rule. + path - The path String to the logfile(s) to be rotated. + ensure - The desired state of the logrotate rule as a String. Valid + values are 'absent' and 'present' (default: 'present'). + compress - A Boolean value specifying whether the rotated logs should + be compressed (optional). + compresscmd - The command String that should be executed to compress the + rotated logs (optional). + compressext - The extention String to be appended to the rotated log files + after they have been compressed (optional). + compressoptions - A String of command line options to be passed to the + compression program specified in `compresscmd` (optional). + copy - A Boolean specifying whether logrotate should just take a + copy of the log file and not touch the original (optional). + copytruncate - A Boolean specifying whether logrotate should truncate the + original log file after taking a copy (optional). + create - A Boolean specifying whether logrotate should create a new + log file immediately after rotation (optional). + create_mode - An octal mode String logrotate should apply to the newly + created log file if create => true (optional). + create_owner - A username String that logrotate should set the owner of the + newly created log file to if create => true (optional). + create_group - A String group name that logrotate should apply to the newly + created log file if create => true (optional). + dateext - A Boolean specifying whether rotated log files should be + archived by adding a date extension rather just a number + (optional). + dateformat - The format String to be used for `dateext` (optional). + Valid specifiers are '%Y', '%m', '%d' and '%s'. + dateyesterday - A Boolean specifying whether to use yesterday's date instead + of today's date to create the `dateext` extension (optional). + delaycompress - A Boolean specifying whether compression of the rotated + log file should be delayed until the next logrotate run + (optional). + extension - Log files with this extension String are allowed to keep it + after rotation (optional). + ifempty - A Boolean specifying whether the log file should be rotated + even if it is empty (optional). + mail - The email address String that logs that are about to be + rotated out of existence are emailed to (optional). + mailfirst - A Boolean that when used with `mail` has logrotate email the + just rotated file rather than the about to expire file + (optional). + maillast - A Boolean that when used with `mail` has logrotate email the + about to expire file rather than the just rotated file + (optional). + maxage - The Integer maximum number of days that a rotated log file + can stay on the system (optional). + minsize - The String minimum size a log file must be to be rotated, + but not before the scheduled rotation time (optional). + The default units are bytes, append k, M or G for kilobytes, + megabytes and gigabytes respectively. + maxsize - The String maximum size a log file may be to be rotated; + When maxsize is used, both the size and timestamp of a log + file are considered for rotation. + The default units are bytes, append k, M or G for kilobytes, + megabytes and gigabytes respectively. + missingok - A Boolean specifying whether logrotate should ignore missing + log files or issue an error (optional). + olddir - A String path to a directory that rotated logs should be + moved to (optional). + postrotate - A command String that should be executed by /bin/sh after + the log file is rotated (optional). + prerotate - A command String that should be executed by /bin/sh before + the log file is rotated and only if it will be rotated + (optional). + firstaction - A command String that should be executed by /bin/sh once + before all log files that match the wildcard pattern are + rotated (optional). + lastaction - A command String that should be execute by /bin/sh once + after all the log files that match the wildcard pattern are + rotated (optional). + rotate - The Integer number of rotated log files to keep on disk + (optional). + rotate_every - How often the log files should be rotated as a String. + Valid values are 'hour', 'day', 'week', 'month' and 'year' + (optional). Please note, older versions of logrotate do not + support yearly log rotation. + size - The String size a log file has to reach before it will be + rotated (optional). The default units are bytes, append k, + M or G for kilobytes, megabytes or gigabytes respectively. + sharedscripts - A Boolean specifying whether logrotate should run the + postrotate and prerotate scripts for each matching file or + just once (optional). + shred - A Boolean specifying whether logs should be deleted with + shred instead of unlink (optional). + shredcycles - The Integer number of times shred should overwrite log files + before unlinking them (optional). + start - The Integer number to be used as the base for the extensions + appended to the rotated log files (optional). + su_owner - A username String that logrotate should use to rotate a + log file set instead of using the default if + su => true (optional). + su_group - A String group name that logrotate should use to rotate a + log file set instead of using the default if + su => true (optional). + uncompresscmd - The String command to be used to uncompress log files + (optional). + +Examples +-------- + +Configure ``logrotate.conf``:: + + logrotate::conf { '/etc/logrotate.conf': + rotate => 10, + rotate_every => 'week', + ifempty => true, + dateext => true, + } + + +Rule for rotating ``messages``:: + + logrotate::rule { 'messages': + path => '/var/log/messages', + rotate => 5, + rotate_every => 'week', + postrotate => '/usr/bin/killall -HUP syslogd', + } + + +Rule for rotating ``slurmd`` client:: + + logrotate::rule { 'slurmd': + path => '/var/log/slurm/slurmd.log', + rotate => $rotate, + rotate_every => $rotate_every, + compress => true, + create => true, + create_mode => '0600', + create_owner => 'slurm', + create_group => 'slurm', + missingok => true, + ifempty => false, + sharedscripts => true, + postrotate => '/bin/systemctl reload slurmd.service > /dev/null 2>/dev/null || true'; + } diff --git a/admin-guide/puppet/components/selinux.rst b/admin-guide/puppet/components/selinux.rst new file mode 100644 index 00000000..a1157db5 --- /dev/null +++ b/admin-guide/puppet/components/selinux.rst @@ -0,0 +1,43 @@ +``selinux`` +=========== + +This module configures :doc:`/selinux`. It allows configuring the SELinux mode +as well as setting SELinux booleans. + + +Parameters +---------- + +``selinux_mode`` +~~~~~~~~~~~~~~~~ + +Acceptable values are ``enforcing``, ``permissive``, and ``disabled``. The +module configures this mode for the next reboot. It also sets it right away +unless the mode to be configured is ``disabled`` or SELinux is currently +disabled. In the former case the current mode is set to ``permissive``. In the +latter case nothing is done before the next reboot. + + +Defined Types +------------- + +``set_sebool`` +~~~~~~~~~~~~~~ + +Sets the SELinux boolean specified as the resource title unless SELinux is +disabled, in which case it does nothing. + +Parameters: + +- ``enable`` + + If true, the boolean is set to ``on``. If false, the boolean is set to + ``off``. + + +Examples +-------- + +Allow httpd to access user's home directories:: + + selinux::set_sebool {'httpd_enable_homedirs': enable => true } diff --git a/admin-guide/puppet/components/sudo.rst b/admin-guide/puppet/components/sudo.rst new file mode 100644 index 00000000..5d7fee7d --- /dev/null +++ b/admin-guide/puppet/components/sudo.rst @@ -0,0 +1,24 @@ +``sudo`` +======== + +This module installs and configures ``sudo(8)``. + +Parameters +---------- + + +``allow_sudoers_d`` +~~~~~~~~~~~~~~~~~~~ + +This boolean determines whether the files in ``/etc/sudoers.d/`` are included in +the sudo configuration. + + +Defined types +------------- + +``sudo::rules`` +~~~~~~~~~~~~~~~ + +This defined type accepts a parameter ``rules``, which is an array of strings to +be added to ``/etc/sudoers``. diff --git a/admin-guide/puppet/components/sysctl.rst b/admin-guide/puppet/components/sysctl.rst new file mode 100644 index 00000000..1deab796 --- /dev/null +++ b/admin-guide/puppet/components/sysctl.rst @@ -0,0 +1,18 @@ +``sysctl`` +=========== + +This module configures ``sysctl``. Further information an examples can be +found in the official page: + +* https://forge.puppet.com/tpdownes/sysctl + +The sysctl module is called automatically so is possible to do sysctl tuning +by configuring properly hiera using the `sysctl::values` variable, eg.:: + + sysctl::values: + net.ipv4.tcp_slow_start_after_idle: + value: '0' + net.core.rmem_max: + value: '83886080' + net.core.wmem_max: + value: '83886080' diff --git a/admin-guide/puppet/components/systemd.rst b/admin-guide/puppet/components/systemd.rst new file mode 100644 index 00000000..44f41b26 --- /dev/null +++ b/admin-guide/puppet/components/systemd.rst @@ -0,0 +1,77 @@ +``systemd`` +=========== + +This module provides defined types to create systemd units. It automatically +takes care of reloading systemd when necessary, automatically generates correct +names for ``.mount`` units, etc. + +The parameters of defined types are usually similar to the systemd option names +that they represent. Camel case (as used by systemd) is transformed to the +lowercase-with-underscore style usually used with Puppet, e.g. ``OnCalendar`` in +systemd becomes ``on_calendar``. + + +Parameters +---------- + +``default_target`` +~~~~~~~~~~~~~~~~~~ + +The systemd default target, i.e. usually one of ``multi-user.target`` or +``graphical.target``. + + +Defined Types +------------- + +All units support the following parameters for the ``[Unit]`` or ``[Install]`` +sections: + +- ``description`` +- ``wanted_by`` + + +``systemd::timer`` +~~~~~~~~~~~~~~~~~~ + +Creates a timer unit. + +Parameters: + +- ``on_calendar`` +- ``unit`` + + +``systemd::mount`` +~~~~~~~~~~~~~~~~~~ + +Creates a mount unit. The name of the unit file has to be (an encoded form of) +the mountpoint, which is automatically generated. See ``systemd.mount(5)`` for +details. + +Parameters: + +- ``what`` +- ``where`` +- ``options`` + + +``systemd.service`` +~~~~~~~~~~~~~~~~~~~ + +- ``type`` (default: ``simple``) +- ``exec_start`` + + +Examples +-------- + +Defining a timer unit +~~~~~~~~~~~~~~~~~~~~~ + +Timer units integrate nicely with the remaining services. They can be managed +through ``systemctl(1)`` and their log messages can easily be accessed through +``journalctl -u xxxxx.timer``. + +A timer unit needs a corresponding service unit which executes the actual +command. diff --git a/admin-guide/puppet/components/updatedb.rst b/admin-guide/puppet/components/updatedb.rst new file mode 100644 index 00000000..a1182efc --- /dev/null +++ b/admin-guide/puppet/components/updatedb.rst @@ -0,0 +1,24 @@ +``updatedb`` +============ + +This module manages the configuration for ``mlocate`` aka ``updatedb(8)``. + + +Parameters +---------- + +``enable`` +~~~~~~~~~~ + +A boolean indicating whether ``mlocate`` - ie the ``updatedb(8)`` cron job - +should be enabled or not. + + +Defined Types +------------- + +``updatedb::exclude`` +~~~~~~~~~~~~~~~~~~~~~ + +Takes a list of directories and makes sure that ``updatedb(8)`` ignores them +when indexing. diff --git a/admin-guide/puppet/components/utils.rst b/admin-guide/puppet/components/utils.rst new file mode 100644 index 00000000..eb2a6d28 --- /dev/null +++ b/admin-guide/puppet/components/utils.rst @@ -0,0 +1,32 @@ +``utils`` +========= + +This module contains a number of utility functions used at PSI. It is the +PSI-specific analogue to Puppetlabs' ``stdlib``. + + +Functions +--------- + + +``check_os`` +~~~~~~~~~~~~ + +Accepts an arbitrary number of arguments, each of which is a string of the form +``$osfamily $majorversion`` as reported by ``facter(8)``. If the facts of the +client system **do not** match any of the arguments, the function aborts the +Puppet run. + + +``rand_time`` +~~~~~~~~~~~~~ + +This function takes a parameter specifying a time window and returns a specific +time within this window based on the MD5 on the hostname. This allows scheduling +cron jobs etc uniformly across a fleet of system within a given window, while +keeping the time on each system predictable. + +The format for the argument specifying the time window is ``HH:MM--HH:MM``. The +window must not include midnight. + +The format of the return value is ``HH:MM``. diff --git a/admin-guide/puppet/development.rst b/admin-guide/puppet/development.rst new file mode 100644 index 00000000..8edc574d --- /dev/null +++ b/admin-guide/puppet/development.rst @@ -0,0 +1,52 @@ +Development Environments +======================== + +The puppet server gives access to a limited set of users to the +environment area, where prod and preprod environments are already +present, to create environments that can be used for new puppet code +development. + +This area is accessible via sftp and can be mounted on users' +workstations via sshfs. + +The typical workflow would be: + + #. user mounts the environment area (``puppet00:/envs`` on the puppet master) via sshfs on ``~/puppetenv``; + #. user create a directory for the new environent (``mkdir ~/puppetenv/issue_x``); + #. after a few seconds ``issue_x`` will be populated with a copy of the content of the the ``preprod`` environment with a proper git branch named ``issue_x``; + #. user edits files in that directory; + #. user run on some testing node the command ``puppet agent -t --environment=issue_x``; + #. user iterates on steps number 4 and 5 until the code is ready; + #. users makes the proper add/commit into the directory and finally pushes the code; + #. from the git server web interface user triggers a merge request of the ``issue_x`` into the ``preprod`` branch. + +Please note that ssh to the puppet server has to be done via ``wmgt`` nodes. + +Environment names +----------------- + +The name of the environment: + + - must be at least 4 characters long; + - can include lower case letters, digits and the underscore character; + - must start with a letter. + +If the name is not compliant with these rules, the directory will be automatically removed. + +SSHFS mount +----------- + +Generally refer to your operating system instructions on how to +properly configure sshfs. + +One caveat is that your local user can be different from the remote (puppet master) +user. In this case a file mapping your local username to the remote user id should be passed to the sshfs client. +The file should be in the form of:: + + : + +And should then be passed in the command like:: + + sshfs -o idmap=file,uidfile=/Users/talamoig/uidmap,nomap=ignore talamo_i@puppet00:/ ~/puppetenvs + + diff --git a/admin-guide/puppet/general.rst b/admin-guide/puppet/general.rst new file mode 100644 index 00000000..bd897a1a --- /dev/null +++ b/admin-guide/puppet/general.rst @@ -0,0 +1,96 @@ +General +======= + +`Puppet `_ is the *configuration management system* used to configure the hosts. + +Introduction +------------ + +Puppet is used in master mode and the general idea is to make large +use of indipendent and (relatively) small puppet +modules and composing profiles and roles based on them to create +classes that are assigned to the hosts. With indipendence +of puppet modules we mean that each puppet module targets a single +functionality (eg. `web server`, `afs client`) and this +is choosen to keep the code of the single module smaller, more +coherent and easier to debug. + +Furthermore the system makes use of some puppet modules from the `puppet forge +`_. These puppet modules are not accessed directly but +through their PSI mirror, inside of the `Linux-infra group `_. + +Code and data are kept separated, using puppet modules +for code and hiera for data. Secure data are safely managed +inside hiera using `hiera eyaml `_. + +To each host the following element will determine how it will be configured: + +- the puppet environment (that will determine the puppet role/profile code base) +- the sysdb data environment (that will determine the hiera code base) +- the puppet group (that will determine what files will be considered in the hiera code base) +- the role + +All these elements are configured inside sysdb as attributes and are accessed +by the puppet master via the ENC. + +Here you can get a general overview: + +.. following image generated from https://docs.google.com/drawings/d/16AXZd5PF-HgW379Cxgvwzvc6MTl_34LVFHzP5Fi8RdQ/edit + +.. image:: puppet_workflow.jpg + + + +Environments +------------ + +We use Puppet environments for two purposes: + +- roll out changes to a small subset of all systems first +- module development + + +The following environments exist: + +- ``prod`` + + The most stable, and most systems are attached to it. All changes to ``prod`` + have to go through ``preprod`` first. + +- ``preprod`` + +- Development environments. These are private to a single developer, + can have arbitrary names like ``ganglia-issue-21`` or + ``kaminski_k-log_client``, and are used for developing and testing + changes. Generally, only individual systems are attached to these + environments. + + + +puppet master +------------- + +The puppet master will make use of the `ENC +`_ for getting +two informations: + + - the environment; + - the role. + +The environment is used to determine the directory location inside +`/etc/puppetlabs/code/environments` where to look code for. + +The role is a class-name inside the specific environment that will be +used to generate the node catalog. + +Assuming for example the following result from the ENC for a specific node: :: + + --- + environment: production + classes: + - role::log_server + +the puppet master will look for the a puppet class named +``role::log_server`` in the file +`/etc/puppetlabs/code/environments/productions/modules/psi/manifests/role/log_server.pp`. + diff --git a/admin-guide/puppet/hiera.rst b/admin-guide/puppet/hiera.rst new file mode 100644 index 00000000..733be349 --- /dev/null +++ b/admin-guide/puppet/hiera.rst @@ -0,0 +1,201 @@ +Hiera +===== + +Look `here `_ for a general Hiera +introduction. + +The current hierarchy has four levels (first will be considered first +during value lookup): + +- nodes (FQDN) +- group (``puppet_group`` attribute in sysdb) +- sysdb environments +- common + +and values can be stored as classical YAML values or with `encrypted yaml +`_ for secrets. +The filesystem structure is as follows:: + +1. ``%{::sysdb_env}/%{::group}/%{::fqdn}`` +2. ``%{::sysdb_env}/%{::group}`` +3. ``%{::sysdb_env}/%{::sysdb_env}`` +4. ``%{::environment}/data/common`` + +The ``%{variable}`` notation is hiera specific and each path represents a ``.yaml`` +file. + +Hiera repositories +------------------ + +Hiera data are organized in different repositories. + +Sysdb environments data +^^^^^^^^^^^^^^^^^^^^^^^ + +Each sysdb environment has a dedicated hiera repository, called ``data-``, +eg. `data-hpc `_ +and `data-sls `_. +The first three levels of the filesystem structure shown before are actually the +files inside this kind of repositories. + +Any change to the repo will automatically trigger a redeployment of the new version +of its content on the puppet master within a few seconds from the push. + +This choice has been made to allow groups to change their hiera data independently of +the linux infrastructure admins. Furthermore there is no way to influence other sysdb +environments data. + +Common data +^^^^^^^^^^^ + +The last element in the hierarchy (``common.yaml``) is instead defined inside the main puppet repository +(the one containing also the real puppet code). It is important to notice that the version +of the ``common.yaml`` used for a specific host will depend on the puppet environment it +is running on, while for the sysdb environements data are the same, whatever the puppet +environment of the host. + +The common part is kept under the control of the linux infrastructure admins +since a change on this can have an impact on a much larger set of hosts and all the changes +on this file are discussed and approved through a longer process. + +Example +------- + +Assuming two sysdb environments ``hpc`` and ``sls``, as well as: + +- group ``merlin4`` in ``hpc`` with ``merlinc10`` and ``merlinc11`` in it; +- group ``merlin5`` in ``hpc`` with ``merlin-c001`` and ``merlin-c002`` in it; +- group ``mx`` in ``sls`` with ``mxcn-1`` and ``mxcn-2`` in it; +- host ``xbl-gateway`` in no explicit group (will take the implicit ``default``) + +the Hiera structure would look like this:: + + data/hpc/merlin4/merlinc10.psi.ch.yaml + data/hpc/merlin4/merlinc11.psi.ch.yaml + data/hpc/merlin4.yaml + data/hpc/merlin5/merlin-c001.psi.ch.yaml + data/hpc/merlin5/merlin-c002.psi.ch.yaml + data/hpc/merlin5.yaml + data/hpc.yaml + data/sls/mx/mxcn-1.psi.ch.yaml + data/sls/mx/mxcn-2.psi.ch.yaml + data/sls/mx.yaml + data/sls/default/xbl-gateway.psi.ch.yaml + data/sls.yaml + code/environments/{prod,preprod}/common.yaml + +While the output of bob would be something like (some unneeded attributes have been removed):: + + merlinc10.psi.ch hpc local puppet_group=merlin4 + merlinc11.psi.ch hpc local puppet_group=merlin4 + merlin-c001.psi.ch hpc local puppet_group=merlin5 + merlin-c002.psi.ch hpc local puppet_group=merlin5 + mxcn-1.psi.ch sls local puppet_group=mx + mxcn-2.psi.ch sls local puppet_group=mx + xbl-gateway.psi.ch sls local + +Secret values +------------- + +Secrets and clear-text values can be mixed inside the same yaml file, eg.:: + + ntp_client::servers: + - pstime1.psi.ch + - pstime2.psi.ch + - pstime3.psi.ch + + secret_key: ENC[PKCS7,MIIBiQYJKoZIhvcNAQcDoIIBejCCAXYCAQAxggEhMIIBHQIBADAFMAACAQEwDQYJKoZIhvcNAQEBBQAEggEAY/9V1S0VAMrRX1B4V06AgsbHPHdONFCQ4RiWfTrhV02rL5gSL4LAdqOuvGPY8YZZv8Mp06/FARlvP1aOfEx7avqSBy11IoUGkeajKZFzJV3OJsfhso4wroQ4JmfBaVKICnQZwCdpke+PHPRkwTgHcjmY2FeBnhvOlrGiQMQU3JzCjLePOa7UvlIIin3xOU/TdetzhfvoNGRhsz7+XRPD+mTT8efJ+OslJmqU7hEqMbs9CmhPJWqsjsQUp8jsM10Dk2Rv4v+zYeJd1ZLRGK3Z56G4NrlLyYua+/yyPbUP4+1bEuisDg9bfQHp3R491/kN0W558oQ+85rsRVXCp1Hb6TBMBgkqhkiG9w0BBwEwHQYJYIZIAWUDBAEqBBB2x9awGQnxAJsxIHA9OiM2gCBFvgxIR4SJZPrrQ/UlhKU39yYSkEmuKE/ou+yeIe5AMA==] + + +The encrypted values can be decrypted transparently from Hiera (on a host having the proper hiera key):: + + [root]# hiera secret_key + this is a secret value + +You can edit secure data inside any yaml file with the command +``/opt/puppetlabs/puppet/bin/eyaml edit common.yaml``. In this case secure data +will appear in clear-text inside the editor. + + +Encripting data with the public key +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The eyaml public key is:: + + -----BEGIN CERTIFICATE----- + MIIC2TCCAcGgAwIBAgIBATANBgkqhkiG9w0BAQUFADAAMCAXDTE2MTAyNDE0NTY1 + N1oYDzIwNjYxMDEyMTQ1NjU3WjAAMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB + CgKCAQEA2eykSgS7VJEXrWYkQMV48ZkUVcHMbCEo2gZXD4vIJsOdJu77F7tA53Ay + NxdKnJTftsj+R7yFP9Z2XllA9Our0Ypphj40rNstRg5O4IoSkAqitJchlfGL9jZ3 + CB4dJqFitzOkxxCWZjQpjBd3dMJc6U3us6IDWohCjYqyjMZIVwU5EflzJKV4haEy + Y9qHkVt938RM9UohEvia5/1lZxuZQmDpYqCw9gmBK/dVKZ7abZGkujTKAg5cjD/X + vuexLMCGrjnPdrsblwBh+yfu6cEo9nfvfj6EA0FxPHIvQ3fv1yJZ+90OA9eUJnqQ + ED66OGPATAJIqhWlgb8a760xPQFQQQIDAQABo1wwWjAPBgNVHRMBAf8EBTADAQH/ + MB0GA1UdDgQWBBSF05r9TYDiAmkdguCVcDzmYR8Q6TAoBgNVHSMEITAfgBSF05r9 + TYDiAmkdguCVcDzmYR8Q6aEEpAIwAIIBATANBgkqhkiG9w0BAQUFAAOCAQEAWAER + CTGsOFUkCfvqke75PmIkxKBp/2eJbavWzPkbA/mwAGS4lQc5oyS8FMkUFxATo1k/ + WIb2B3WJIMHfCzMNxTlQLjJiSyvWAlEBHDW4H2XekzKSbj96l+/nirmOq3QkEKTK + omexF5zYSPkBVA/S2m2wae3g2kubH1p42+REKQUvt1+xaecHBYD6eXzBWChnMMnq + FbXoayTibn0p9Roo8HClGGJpjPZUTMf+VGUqKWPfvaKl48Y0yrc/4BzZT6Sbzeou + ZSiHwa62rTV7ia7m2SILZU5b65JUVkFH/2r6qkxCr0Ep+oaxSNXtAXLCbnXmdOeK + B40J8ePbbmmGE24+zQ== + -----END CERTIFICATE----- + + +Assuming the public key is saved in a file named ``/home/someone/eyaml_key.pub`` and that +`hiera-eyaml `_ is properly installed, +a string can be encripted with:: + + eyaml encrypt --pkcs7-public-key=/home/someone/eyaml_key.pub -s secret_string + + +While a complete file can be encripted with:: + + eyaml encrypt --pkcs7-public-key=/home/someone/eyaml_key.pub -f secret_file + +Example: Encripting password +---------------------------- + +Steps: + +Install locally (local = server/desktop from where you will encrypt the password) hiera-eyaml (https://github.com/voxpupuli/hiera-eyaml/tree/command-refactor) + +Create locally a *keys* directory:: + + #> mkdir -p ~/eyaml/keys + +Copy *puppet00:/etc/puppetlabs/keys/eyaml/public_key.pkcs7.pem* to the above folder. Alternatively, you can copy the above public key, which should be the same:: + + #> scp root@puppet00:/etc/puppetlabs/keys/eyaml/public_key.pkcs7.pem ~/eyaml/keys + +Go to the *eyaml* directory:: + + #> cd ~/eyaml + +Hash your password using *openssl* as follows**. It will generate a hashed password:: + + #> openssl passwd -1 + Password: + Verifying - Password: + + +Encrypt your hashed password with *eyaml* and copy the exact output (either the string or the block) to your hiera (YAML) file:: + + #> eyaml encrypt -l 'root::password' -s '' + root::password: ENC[PKCS7,MIIBmxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + + OR + + root::password: > + ENC[PKCS7,MIIBmxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + xxx] diff --git a/admin-guide/puppet/modules.rst b/admin-guide/puppet/modules.rst new file mode 100644 index 00000000..65eb2f00 --- /dev/null +++ b/admin-guide/puppet/modules.rst @@ -0,0 +1,259 @@ +Modules +======= + +The repository for the Puppet role/profile module is +``_. + +The general roles structure is:: + + role::generic_server + role::generic_desktop + ... + role::daas::compute + role::daas::login + ... + role::sls::console + role::sls::boot_server + +So we have some roles that are generic PSI-wide (eg. ``generic_server``) while +some roles that are specific to some projects and have a dedicated namespace. + +For the profiles section we have the following:: + + profile::ssh_client + profile::afs_client + profile::log_client + profile::mysql_server + +For profiles maybe we will not need namespace areas dedicated to +specific projects, since profiles should be generic enough to be +reusable. + + +How to write modules +-------------------- + +The structure of a module depends on the type of module to some extent. +Currently, we distinguish three kinds of modules: + +- roles +- profiles +- components + + +Parameter validation +~~~~~~~~~~~~~~~~~~~~ + +The first thing every module must do is parameter and environment validation. In +particular, a module should check that + +- its arguments have the correct type +- it supports the OS of the client system + +A typical module could start like this:: + + class profile::logging ( + $forward_to, + $persistent_journal, + ) + { + validate_array($forward_to) + validate_bool($target) + + check_os('RedHat 7', 'RedHat 8') + } + +This would make sure that ``$forward_to`` is an array, ``$persistent_journal`` +is a boolean, and that the client runs RHEL 7 or (a hypothetical) RHEL 8. + +Arguments should be checked first, in the order that they are passed. + +Checking the OS will ease porting efforts to newer releases of RHEL, other +distributions (e.g. Ubuntu), or other operating systems (e.g. BSD), should the +need arise. + + +Hiera queries +~~~~~~~~~~~~~ + +Only profiles and roles query Hiera. Components should take all their inputs as +parameters or facts. + +In profiles, Hiera queries must generally be done as default arguments to +parameters, **not** inside the modules body:: + + class profile::logging ( + $forward_to=hiera('...'), + $persistent_journal=hiera('...'), + ) + { + +The reason is that this allows a role to enforce certain parameters and disable +the corresponding Hiera query. + + +Layout +~~~~~~ + +Roles and profiles are usually implemented in a single file, e.g. +``psi/manifests/profile/logging.pp``. Components on the other hand follow the +standard Puppet layout, i.e. +``auditd/manifests/{init,install,config,service}.pp``. + +Files and templates +~~~~~~~~~~~~~~~~~~~ + +Every file or template should be used by only one class and its path inside the +module should reflect this. Eg. if the template ``sshd_config.erb`` is used by +the ``profile::ssh_server`` module, it will be places inside the +``templates/profile/ssh_server`` directory. + +Furthermore, on top of every file managed by puppet, a header like the +following should be present: :: + + ######################################################################## + # + # THIS FILE IS MANAGED BY PUPPET - DO NOT MODIFY! + # + # profile::ssh_server + # sshd_config.erb + # + ######################################################################## + +The last two lines should be: + + - the puppet class using the file; + - the name of the file/template. + +Debugging templates +~~~~~~~~~~~~~~~~~~~ + +You can use the ``erb`` tool to test the variable interpolation. One easy way is to prepare a file with the variable values and pipe it together with the template through erb. Define the variables in a file ``test-vars.erb`` like in this example:: + + <% + @partitions = {'a' => 'aa', 'b' => 'bb', 'c' => 'cc'} + @group_whitelist = ['groupA', 'groupB'] + @port = 8000 + %> + +and then use a commmand line like the following to pipe it through ``erb``:: + + erb <(cat /tmp/test-vars.erb /tmp/my-template.erb) + +The output will contain the variable substituted template. If you want to check your +template for syntax errors, you can just use the following command:: + + erb -P -x -T '-' jupyterhub_config.py.erb | ruby -c + +Roles +----- + +.. toctree:: + :maxdepth: 1 + + roles/base + roles/bootpc + roles/console + roles/daq_buffer + roles/dcache_t3_pools + roles/desktop + roles/ganglia_server + roles/grafana + roles/hpc/ces + roles/hpc/cn + roles/hpc/database + roles/hpc/ui + roles/hpc/server + roles/influxdb + roles/jupyterserver + roles/log_server + roles/login_server + roles/media_station + roles/nomachine_proxy + roles/reverse_proxy + roles/server + roles/slurm_client + roles/slurm_compute + roles/slurm_server + roles/softioc + roles/web_server + roles/workstation + roles/zookeeper + + +Profiles +-------- + +.. toctree:: + :maxdepth: 1 + + profiles/aaa + profiles/afs_client + profiles/autofs + profiles/custom_timers + profiles/epics + profiles/filecopy + profiles/files + profiles/ganglia_client + profiles/ganglia_server + profiles/gnome + profiles/gpfs + profiles/grafana + profiles/icewm + profiles/icinga/client + profiles/icinga/nrpe + profiles/icinga/checks/gpfs + profiles/icinga/checks/nvidia + profiles/icinga/checks/puppet_client + profiles/icinga/checks/service + profiles/icinga/checks/slurm + profiles/icinga/checks/hp/smart_array + profiles/infiniband + profiles/jupyterhub + profiles/kdump_client + profiles/local_accounts + profiles/log_client + profiles/log_server + profiles/mkresource/files + profiles/mounter + profiles/mta + profiles/multipath + profiles/nomachine + profiles/nomachine/desktop + profiles/nomachine/license + profiles/nomachine/repository + profiles/nomachine/service + profiles/nomachine/terminal + profiles/nomachine/workstation + profiles/networking + profiles/nfs_server + profiles/ntp_client + profiles/nvidia + profiles/platform + profiles/platform/hewlett_packard + profiles/pmodules + profiles/print_client + profiles/puppet_client + profiles/serial_console + profiles/ssh_client + profiles/ssh_server.rst + profiles/sysinfo + profiles/telegraf + profiles/web_server + profiles/yum_client + + +Components +---------- + +.. toctree:: + :maxdepth: 1 + + components/grub2 + components/logrotate + components/selinux + components/sudo + components/systemd + components/sysctl + components/updatedb + components/utils diff --git a/admin-guide/puppet/profiles/aaa.rst b/admin-guide/puppet/profiles/aaa.rst new file mode 100644 index 00000000..33f99899 --- /dev/null +++ b/admin-guide/puppet/profiles/aaa.rst @@ -0,0 +1,336 @@ +``profile::aaa`` +===================== + +This module manages configuration related to authentication, authorization, and +auditing. In particular, it + +- performs the Active Directory join (optional) +- configures login restrictions (e.g. :manpage:`pam_access(8)`) +- adds sudo rules for administrators + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +admins list hiera_array('aaa::admins') +allow_sudoers_d bool hiera('aaa::allow_sudoers_d') +bastions list hiera('aaa::bastions') +cache_creds bool hiera('aaa::cache_creds') +create_homes bool hiera('aaa::create_homes') +enable_ad bool hiera('aaa::enable_ad') +enable_eaccounts bool hiera('aaa::enable_eaccounts') +enable_slurm bool false +enable_ssh_allow bool hiera('aaa::enable_ssh_allow') +enable_tier3_ldap bool hiera('aaa::enable_tier3_ldap', false) +ldap_enabled bool hiera('aaa::ldap_enabled') +offline_creds_expiration string hiera('aaa::offline_creds_expiration') +override_homedir string hiera('aaa::override_homedir', undef) +ssh_authorized_keys hash hiera_hash('aaa::sshkeys', {}) +sssd_debuglevel int hiera('aaa::sssd_debuglevel') +sudo_rules (Hiera only) list hiera_array('aaa::sudo_rules', []) +support_afs bool hiera('aaa::support_afs'), +use_bastions bool hiera('aaa::use_bastions', undef) +users list hiera_array('aaa::users', []) +=============================== ======== ================================================ + + +``admins`` +~~~~~~~~~~ + +A list of user and/or group names. The users as well as the members of the groups +can log in on the system and have full root privileges via sudo. + +Group names must be prefixed with ``%``. + +Example:: + + aaa::admins: + - 'markushin' + - 'gsell' + - 'barabas' + - '%unx-linux_support' + +Also see `users`_. + + +``allow_sudoers_d`` +~~~~~~~~~~~~~~~~~~~ + +This boolean controls whether the files in ``/etc/sudoers.d`` are taken +into account by sudo. + + +``bastions`` +~~~~~~~~~~~~ + +A list of FQDNs. If `use_bastions`_ is true, then root logins are only allowed +from the hosts on this list. *Note*: If the list is empty, login is unrestricted +again! + +Example:: + + aaa::bastions: + - 'gpfs-node1.psi.ch' + - 'gpfs-node2.psi.ch' + - 'gpfs-node3.psi.ch' + - 'wmgt01.psi.ch' + - 'wmgt02.psi.ch' + +``create_homes`` +~~~~~~~~~~~~~~~~ + +This boolean controls whether home directories are created on login when +necessary. This only works if the underlying filesystem allows it. In +particular, it does not work on AFS. + +Also see `override_homedir`_. + + +``cache_creds`` +~~~~~~~~~~~~~~~~~~~~~ + +This boolean controls whether sssd caches credentials. + +Also see `offline_creds_expiration`_. + + +``enable_ad`` +~~~~~~~~~~~~~ + +Determines whether the system will be configured for Active Directory +authentication. + + +``enable_eaccounts`` +~~~~~~~~~~~~~~~~~~~~ + +Setting this to ``true`` enables the Active Directory OU containing the +e-accounts. + + +``enable_slurm`` +~~~~~~~~~~~~~~~~ +When set to ``true``, we allow slurm users to login on computing nodes in where +their jobs are running. Otherwise, users are not allowed to login in the computing +nodes. + +To enable this behaviour, someone needs to call directly the ``profile::aaa`` class +and enable this feature, but also needs to change the call of the ``role::base`` +class by setting ``include_aaa`` to ``false``. For example:: + + class { + 'role::base': + include_aaa => false; + 'profile::aaa': + support_afs => hiera('base::enable_afs'), + enable_slurm => true; + 'slurm::compute': + cluster => $cluster; + } + + + +``enable_ssh_allow`` +~~~~~~~~~~~~~~~~~~~~ + +Allow users to manage access to the system bypassing Puppet by adding usernames +to ``/etc/security/ssh.allow.user``. This file is never touched by Puppet. +Documentation can be found in :manpage:`pam_listfile(8)` or +``/etc/security/ssh.allow.README`` on the target system. + + +``enable_tier3_ldap`` +~~~~~~~~~~~~~~~~~~~~~ +When set to ``true``, sssd.conf is configured to support only OpenLDAP for +the Tier3. Other domains (Active Directory D.PSI.CH and LDAP SLS.PSI.CH) are +not included in the configuration file. + + +``ldap_enabled`` +~~~~~~~~~~~~~~~~ + +This boolean controls whether LDAP (AD) is used for user information and +authentication. + +In this case the following port have to be accessible from the host to the +domain controllers: + + - 389/TCP + - 389/UDP + - 88/TCP + - 88/UDP + - 464/UDP + + + +``offline_creds_expiration`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This integer controls for how many days cached credentials are valid after the +last successful online login. A value of 0 means that there is no limit. + +Also see `cache_creds`_. + + +``override_homedir`` +~~~~~~~~~~~~~~~~~~~~ + +This string defines the home directory path to use as expected by sssd's +``override_homedir`` option. See :manpage:`sssd.conf(5)` for details. + +Example:: + + aaa::override_homedir: '/home/%u' + + +``sshkeys`` +~~~~~~~~~~~ + +A hash of hashes, each of which contains the parameters as accepted by the +`ssh_authorized_key +`_ resource +type. + +Example:: + + aaa::sshkeys: + 'root@ra': + user: 'root' + type: 'ssh-dss' + key: 'AAAAB3Nz...' + +Keep in mind that this only works if the user's home directory is accessible to +root. In particular, it doesn't work if the home is on AFS. + + +``sssd_debuglevel`` +~~~~~~~~~~~~~~~~~~~ + +This integer configures sssd's ``debug_level`` option (see +:manpage:`sssd.conf(5)`). It is rarely necessary to use this setting, as the +debug level can be changed at runtime using :manpage:`sss_debuglevel(8)`. + + +``sudo_rules`` +~~~~~~~~~~~~~~ + +A list of strings taken from Hiera containing additional sudo rules. + + +``support_afs`` +~~~~~~~~~~~~~~~ + +Configure PAM and related tools which are necessary for running AFS. + + +``use_bastions`` +~~~~~~~~~~~~~~~~ + +This parameter determines whether root logins are only possible from the hosts +listed in `bastions`_. Normally the value is taken from the network property of +the same name, but this parameter allows overriding the network setting through +Hiera or in Puppet manifests. + + +``users`` +~~~~~~~~~ + +A list of user and/or group names. The users as well as the members of the +groups can log in on the system. + +Group names must be prefixed with ``%``. + +Also see `admins`_. + + +``ssh_authorized_key`` +~~~~~~~~~~~~~~~~~~~~~~ + +A hash containing SSH public keys as expected by the ``ssh_authorized_key`` +Puppet resource. + + +Examples +-------- + +The base role includes this profile by default. If you need to customize the +profile, do it like this:: + + class role::some_role () { + class {'role::base': + include_aaa => false, + ... + } + + class {'profile::aaa': + override_homedir => '/localhomes/%u', + create_homes => true, + ... + } + ... + + +Implementation Notes +-------------------- + + +User/Group Enumeration +~~~~~~~~~~~~~~~~~~~~~~ + +User/group enumeration happens when using the ``{set,get,end}pwent`` and +``{set,get,ent}grent`` APIs to enumerate all users or groups. These are used by +``getent passwd`` and ``gentent group`` for example, when not providing a +specific user or group to query. + +Enumeration would potentially be very slow and put a high load on the AD domain +controllers if it were to return all users/groups from AD. To prevent this, we +disable enumeration for AD accounts using the ``enumerate`` setting in +:manpage:`sssd.conf(5)`. This means that enumeration using the APIs/programs +above only returns local users and groups. + + +The ``min_id`` issue +~~~~~~~~~~~~~~~~~~~~ + +There are Unix groups in AD at PSI with very low GIDs, the lowest being 101 +(``unx-fkt``). This leads to problems, because :manpage:`sssd(8)` ignores users +and groups with GIDs lower than ``min_id`` (from :manpage:`sssd.conf(5)`), which +has a value of 500 by default. + +Therefore we set ``min_id`` to 100. One consequence is that there is overlap +between the IDs considered by sssd when querying AD, and the ID range for system +users and groups (``[SYS_]ID_{MIN,MAX}``) as defined in +:manpage:`login.defs(5)`. + +When creating system groups, :manpage:`groupadd` scans **all** GIDs from +``SYS_GID_MAX`` to ``SYS_GID_MIN``. This causes a number of requests to AD, +which is usually not a problem but can be, if those take a long time to +complete. This used to happen without the ``ad_enabled_domains`` setting for +example. ``sssd`` would query ``d.ethz.ch`` in addition to ``d.psi.ch``, which +would time out after a few seconds. + + +PAM details +~~~~~~~~~~~ + +There have been discussions to move :manpage:`pam_access` to the ``auth`` +section (from the ``account`` section) to prevent information leakage for +accounts that can't even log in: an attacker would get a different error message +depending on whether the password was wrong or whether :manpage:`pam_access` +didn't allow access. + +The problem is that when using Kerberos authentication, sshd does not use PAM +for authentication, circumventing :manpage:`pam_access`. Hence, just moving the +latter from ``account`` to ``auth`` does not work. + + +Kerberos ticket/AFS token renewal +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Kerberos tickets and AFS tokens are automatically renewed for as long as +possible. This is done by running a :manpage:`krenew` for every session in the +background. + diff --git a/admin-guide/puppet/profiles/afs_client.rst b/admin-guide/puppet/profiles/afs_client.rst new file mode 100644 index 00000000..efbcd21a --- /dev/null +++ b/admin-guide/puppet/profiles/afs_client.rst @@ -0,0 +1,51 @@ +``profile::afs_client`` +============================ + +This module installs and configures the OpenAFS client. + +On systems using AFS it is necessary to have the AFS kernel module for the +running kernel installed. This module installs the AFS kernel module for +**every** installed kernel (usually up to 3). Therefore it is recommended to run +Puppet after (kernel) updates. + +Note: Simply including this profile is usually **not** enough to enable AFS on a +system. It is also necessary to enable AFS support when including +``profile::aaa``. The latter makes sure that AD is used for authentication and +configures PAM to automatically create and renew AFS tokens. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +enable_dynroot bool hiera('afs_client::enable_dynroot') +min_cache_size int hiera('afs_client::min_cache_size') +mountpoint string hiera('afs_client::mountpoint') +root_volume string hiera('afs_client::root_volume') +=============================== ======== ================================================ + + +``enable_dynroot`` +~~~~~~~~~~~~~~~~~~ + + +``min_cache_size`` +~~~~~~~~~~~~~~~~~~ + +The minimum size for the local AFS cache. If the cache is smaller than this, +Puppet will try to resize the logical volume =lv_openafs=, otherwise Puppet will +leave it alone. + + +``mountpoint`` +~~~~~~~~~~~~~~ + +Defines the mountpoint for the AFS filesystem. + + +``root_volume`` +~~~~~~~~~~~~~~~ + +The name of the root volume to mount. diff --git a/admin-guide/puppet/profiles/autofs.rst b/admin-guide/puppet/profiles/autofs.rst new file mode 100644 index 00000000..c3df6998 --- /dev/null +++ b/admin-guide/puppet/profiles/autofs.rst @@ -0,0 +1,23 @@ +``profile::autofs`` +=================== + +This profile enables the ``autofs`` service. For normal automounts this is not +necessary, as they can be implemented using systemd, but this module can enable +the autofs ``-hosts`` map. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +install_auto_master bool hiera('autofs::install_auto_master', true) +=============================== ======== ================================================ + + +``autofs::install_auto_master`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +If this variable is true, the profile will create an ``/etc/auto.master`` file +enabling the ``-hosts`` map on ``/net``. diff --git a/admin-guide/puppet/profiles/custom_timers.rst b/admin-guide/puppet/profiles/custom_timers.rst new file mode 100644 index 00000000..90e280cf --- /dev/null +++ b/admin-guide/puppet/profiles/custom_timers.rst @@ -0,0 +1,40 @@ +``profile::custom_timers`` +========================== + +This profile is a defined type to define systemd timers together with the corresponding service. + +The resources are defined using the ``systemd::service`` and ``system::service``. +The service is defined as type simple and it it has dependency (``Wants`` and ``After``) from +the ``network-online.target``. + + +The defined type is used from ``role::base`` to create the resources +defined in the ``base::timers`` hiera hash. + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +description String +command String +on_calendar String +=============================== ======== ================================================ + + +``description`` +~~~~~~~~~~~~~~~ + +Human-oriented description of the service and timer. + +``command`` +~~~~~~~~~~~ + +Path to the command to invoke into the service. It should be an absolute path +and a check is performed against this. + +``on_calendar`` +~~~~~~~~~~~~~~~ +The definition of the timer execution time. See `OnCalendar` on systemd.timer(5). + diff --git a/admin-guide/puppet/profiles/epics.rst b/admin-guide/puppet/profiles/epics.rst new file mode 100644 index 00000000..0a2ff2d7 --- /dev/null +++ b/admin-guide/puppet/profiles/epics.rst @@ -0,0 +1,20 @@ +``profile::epics`` +================== + +Install and configure Epics. + + +Parameters +---------- + +============ ======== =========== +**Name** **Type** **Default** +------------ -------- ----------- +epics_func string - +============ ======== =========== + + +``epics_func`` +~~~~~~~~~~~~~~ + +A command written to ``/etc/epics_func.conf``, followed by ``>/dev/null``. diff --git a/admin-guide/puppet/profiles/filecopy.rst b/admin-guide/puppet/profiles/filecopy.rst new file mode 100644 index 00000000..4c56c0ee --- /dev/null +++ b/admin-guide/puppet/profiles/filecopy.rst @@ -0,0 +1,37 @@ +``profile::filecopy`` +===================== + +This module allows to copy file on the host using a git repository as +the source. + +The purpose of this module is to distribute files that are not +created/configured with other modules, usually files very specific +eg. scripts for very specific environments. + +With this module is possible to specifiy only single files, so no +directory or recursion is possible. + +The source files are taken from the master branch of a git repo that +should be accessible without authentication. Or anyway accessible from +the host where the files have to be copied (eg. via a proper ssh key). + +A section like the following in hiera will copy on file ``/tmp/test1`` +the content of +``https://git.psi.ch/talamo_i/copy-file-test/raw/master/abc``:: + + filecopy::files: + '/tmp/test1': + repo: 'talamo_i/copy-file-test' + path: 'abc' + mode: '0600' + owner: 'talamo_i' + +You can additionally specify the group owner of the file: + group: 'apache' + + +This module is included by default and ``filecopy::files`` is empty by +default. + +To copy files just define properly the ``filecopy::files`` variable. + diff --git a/admin-guide/puppet/profiles/files.rst b/admin-guide/puppet/profiles/files.rst new file mode 100644 index 00000000..5ac59359 --- /dev/null +++ b/admin-guide/puppet/profiles/files.rst @@ -0,0 +1,27 @@ +``profile::files`` +================== + +This profile creates symlinks. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +symlinks hash hiera('files::symlinks') +=============================== ======== ================================================ + + +``symlinks`` +~~~~~~~~~~~~ + +A hash specifying symlinks to be created. The keys of the hash are the absolute +pathnames of the symlinks, the values of the hash are the corresponding symlink +targets. + +Example:: + + files::symlinks: + '/opt/foo': '/var/lib/foo' diff --git a/admin-guide/puppet/profiles/ganglia_client.rst b/admin-guide/puppet/profiles/ganglia_client.rst new file mode 100644 index 00000000..607e8370 --- /dev/null +++ b/admin-guide/puppet/profiles/ganglia_client.rst @@ -0,0 +1,36 @@ +``profile::ganglia_client`` +============================ + +This module installs and configures Ganglia's gmond. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +grid string hiera('ganglia::grid') +cluster string hiera('ganglia_client::cluster') +n/a hash hiera('ganglia::grid_${GRID}') +=============================== ======== ================================================ + + +``grid`` +~~~~~~~~ + +The name of the Ganglia grid the client is a part of. + + +``cluster`` +~~~~~~~~~~~ + +The name of the Ganglia cluster within the grid the client is a part of. + + +``grid_${GRID}`` +~~~~~~~~~~~~~~~~ + +The definition of the grid. See the :doc:`ganglia_server documentation +<../profiles/ganglia_server>` for details. + diff --git a/admin-guide/puppet/profiles/ganglia_server.rst b/admin-guide/puppet/profiles/ganglia_server.rst new file mode 100644 index 00000000..62a525fd --- /dev/null +++ b/admin-guide/puppet/profiles/ganglia_server.rst @@ -0,0 +1,104 @@ +``profile::ganglia_server`` +=========================== + +This module configures the following Ganglia server components: + +- the web interface (using Apache) +- one gmond for each cluster to be monitored by this server + +The latter is a little unusual. Normally, the gmonds collecting the data for +each cluster, which are then queried by gmetad, are part of the cluster. The +implementation chosen by this module makes it easier to deal with firewalls. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +grid string hiera('ganglia::grid') +grid_${GRID} hash hiera('ganglia::grid_${GRID}') +=============================== ======== ================================================ + + +``grid`` +~~~~~~~~ + +This string identifies the grid (ie the collection of clusters) this server +monitors. The definition of the grid is taken from the Hiera value +``grid_${GRID}``. + + +``grid_${GRID}`` +~~~~~~~~~~~~~~~~ + +The definition of the Ganglia grid this server is responsible for. It is a hash +containing the following keys: + + +``name`` +,,,,,,,, + +The name of the grid as used in the web interface. + + +``ui`` +,,,,,, + +The FQDN of the server hosting the web UI and collecting the data for the grid. +A system with role ``ganglia_server`` will compare its own FQDN to this value +and fail if they are not equal. Clients will need this value to know where they +they should send their metrics. + + +``clusters`` +,,,,,,,,,,,, + +A hash of cluster definitions. The keys are the IDs of the clusters, ie. what a +client expects to find in ``ganglia::cluster``. The values are hashes containing +the following attributes: + +``name`` +........ + +The user-friendly name of the cluster to be used in the web UI. + +``port`` +........ + +The port used within the cluster. The first cluster should use 8649 (the Ganglia +standard port), the next cluster should use 8650, and so on. + + +Examples +-------- + +Suppose we have a Ganglia grid for Swissfel (sysdb_env == swissfel). +The we could put the following in Hiera. + +In ``swissfel.yaml`` we would define grid, say ``sfel``, and set the grid for +all systems in the ``swissfel`` environment to ``sfel``:: + + + ganglia::grid: 'sfel' + + ganglia::grid_sfel: + name: 'SwissFEL' + ui: 'gmeta00.psi.ch' + clusters: + 'sf-daqbuf': + name: 'DAQ Buffers' + port: 8649 + 'sf-athos' + name: 'Athos Beamline Systems' + port: 8650 + +In the ``swissfel/daqbuf.yaml`` we would then set the cluster to ``sf-daqbuf``:: + + ganglia::cluster: 'sf-daqbuf' + +In ``swissfel/athos.yaml`` on the other hand, we would set the cluster to +``sf-athos``:: + + ganglia::cluster: 'sf-athos' diff --git a/admin-guide/puppet/profiles/gnome.rst b/admin-guide/puppet/profiles/gnome.rst new file mode 100644 index 00000000..5caf5689 --- /dev/null +++ b/admin-guide/puppet/profiles/gnome.rst @@ -0,0 +1,46 @@ +``profile::gnome`` +================== + +This module installs and configures the Gnome desktop environment. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +banner_message string +enable_update_notifications bool +favorites list +keyboard_layouts list +=============================== ======== ================================================ + + +``banner_message`` +~~~~~~~~~~~~~~~~~~ + +The message displayed above the login prompt. + + +``enable_update_notifications`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Whether or not ``gnome-software`` is started at the beginning of a session to +notify the user about available updates. + + +``favorites`` +~~~~~~~~~~~~~ + +The applications/directories/etc to be displayed in the *Favorites* menu and/or +the Gnome dock. Each member of the list must be a string containing the full +name (not path!) of the ``.desktop`` file, eg. ``gnome-terminal.desktop`` for +the Gnome Terminal. + + +``keyboard_layouts`` +~~~~~~~~~~~~~~~~~~~~ + +A list of the keyboard mappings which should be available on the login screen. +The first mapping in the list is the default. diff --git a/admin-guide/puppet/profiles/gpfs.rst b/admin-guide/puppet/profiles/gpfs.rst new file mode 100644 index 00000000..aff0ed67 --- /dev/null +++ b/admin-guide/puppet/profiles/gpfs.rst @@ -0,0 +1,91 @@ +``profile::gpfs`` +================= + +Install and configure the `GPFS parallel file system +`_. + +The installation also includes the configuration of the rpm repositories. + +Parameters +---------- + +================= ========== =========== +**Name** **Type** **Default** +----------------- ---------- ----------- +version string +repo_base_url string +setup_repos bool true +setup_pmsensors bool true +setup_pmcollector bool false +setup_ces bool false +setup_gui bool false +fs_opts hash empty hash +================= ========== =========== + + +``version`` +~~~~~~~~~~~ + +The version of GPFS to install. + + +``repo_base_url`` +~~~~~~~~~~~~~~~~~ + +The base URL of the GPFS repositories. Each version of GPFS comes in its own +repositories, which are assumed to be located under +``${repo_base_url}/${version}/``. + +Repository configuration is subject to `setup_repos`_. + + +``setup_repos`` +~~~~~~~~~~~~~~~ + +Whether or not to configure the GPFS repositories. + + +``setup_pmsensors`` +~~~~~~~~~~~~~~~~~~~ + +Install packages needed to run the pmsensors service. + +``setup_pmcollector`` +~~~~~~~~~~~~~~~~~~~~~ + +Install packages needed to run the pmcollector service. + +``setup_ces`` +~~~~~~~~~~~~~ + + +``setup_gui`` +~~~~~~~~~~~~~ + +Install packages needed to run the gpfsgui service. + +``fs_opts`` +~~~~~~~~~~~ + +By default a GPFS filesystem will be mounted on all nodes of +the cluster with the same option, eg. it will be read-write if +the filesystem as been defined with read-write access (see ``mmfs`` +for the mount options). + +It is possible to override these option on a host specific base +configuring a file named ``/var/mmfs/etc/localMountOptions.`` +with one option per line. + +Please note that even if the parameter is ``fs_opts`` in the code, +the hiera variable is called ``fs_mount_opts``. + +The following hiera code can be used to make the ``beamline`` filesystem +mounted in read-only mode:: + + gpfs::fs_mount_opts: + 'beamline': ['ro'] + + + + + diff --git a/admin-guide/puppet/profiles/grafana.rst b/admin-guide/puppet/profiles/grafana.rst new file mode 100644 index 00000000..a80e6e93 --- /dev/null +++ b/admin-guide/puppet/profiles/grafana.rst @@ -0,0 +1,65 @@ +``profile::grafana`` +============================ + +This module installs and configures Grafana server. +It requires a SSL cert/key since the server will be provided over HTTPS. + +The system uses AD authentication for users and allows anonymous user +with view-only capabilities. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +vhost string hiera('grafana::vhost', FQDN) +servers array hiera('grafana::influxdb_servers') +admin_groups array hiera('grafana::admin_groups') +editor_groups array hiera('grafana::editor_groups') +admin_pw string hiera('grafana::admin_pw') +cert string hiera('grafana::tls_cert') +key string hiera('grafana::tls_key') +=============================== ======== ================================================ + + +``vhost`` +~~~~~~~~ + +The hostname through which the server will provide http/https service. +By default it corresponds to the FQDN, but in case of aliases or Round-Robin DNS it can be different. + +``servers`` +~~~~~~~~~~~ + +A list of influx db servers url to query for data. +Each server should be specified with a URL like ``http://hostname:8086``. + +The list of services will be queried to get the list of available databases and +the corresponding data sources will be automatically created. +The generation of the data sources happens when the list of server files or automatically every day. + +``admin_groups`` +~~~~~~~~~~~~~~~~ + +The list of unix groups that will have full (admin) rights when logging into the server. +See `this `_ for further details.ls. + +``editor_groups`` +~~~~~~~~~~~~~~~~ + +The list of unix groups that will have editor rights when logging into the server. +See `this `_ for further details. + +``admin_pw`` + +Password of the ``admin`` user. + +``cert`` + +SSL public certificate of the HTTPS server. + +``key`` + +Private key matching with the SSL certificate. diff --git a/admin-guide/puppet/profiles/icewm.rst b/admin-guide/puppet/profiles/icewm.rst new file mode 100644 index 00000000..bf70ce6a --- /dev/null +++ b/admin-guide/puppet/profiles/icewm.rst @@ -0,0 +1,15 @@ +``profile::icewm`` +================== + +This profile installs and configures the IceWM window manager. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +toobar_apps hash hiera('icewm::toolbar::apps', {}) +menu_apps hash hiera('icewm::menu::apps', {}) +=============================== ======== ================================================ diff --git a/admin-guide/puppet/profiles/icinga/checks/gpfs.rst b/admin-guide/puppet/profiles/icinga/checks/gpfs.rst new file mode 100644 index 00000000..9c9a0d50 --- /dev/null +++ b/admin-guide/puppet/profiles/icinga/checks/gpfs.rst @@ -0,0 +1,41 @@ +``profile::icinga::checks::gpfs`` +======================================== + +This profile is called when ``gpfs`` is being configured. + +Setup specific checks for GPFS: + * It will check that **GPFS** service is running correctly. + * Also checks node status with ``mmhealth``. + +Parameters +---------- + +=================== ========== ============================================================= +**Name** **Type** **Default** +------------------- ---------- ------------------------------------------------------------- +check_unhealth_only Boolean ``icinga::checks::options::gpfs::ignoretips:`` **``true``** +check_ignore_tips Boolean ``icinga::checks::options::gpfs::unhealth:`` **``false``** +=================== ========== ============================================================= + +``check_unhealth_only`` +~~~~~~~~~~~~~~~~~~~~~~ + +By default ``mmhealth`` is called with the option ``--unhealth``. This shows only **unhealthy** problems. This can be disabled +by setting ``icinga::checks::options::gpfs::unhealth: false``, in this case ``mmhealth`` will also report about **healthy** checks. + + +``check_ignore_tips`` +~~~~~~~~~~~~~~~~~~~~~ + +**TIPS** errors are considered ``[WARNING]`` by default. As these are configuration tips, some admins can consider that tips are ``[OK]`` +in their clusters. This behaviour can be changed by setting ``icinga::checks::options::gpfs::ignoretips: true``, which will consider **TIPS** as ``[OK]``. + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/icinga/checks/hp/smart_array.rst b/admin-guide/puppet/profiles/icinga/checks/hp/smart_array.rst new file mode 100644 index 00000000..2ebff095 --- /dev/null +++ b/admin-guide/puppet/profiles/icinga/checks/hp/smart_array.rst @@ -0,0 +1,29 @@ +``profile::icinga::checks::hp::smart_array`` +======================================== + +This profile is automatically called when a HP Smart Array is detected through facter from the +``profile::platform::hewlett_packard`` class. + +Setup checks for HP Smart Arrray. + * Will setup a check executing ``ssacli`` in order to check the following components: + * **Controller(s)** status, **Cache** status (when configured) & **Battery** status (when present) + * **Logical Drive(s)** status + * **Physical Drive(s)** status + +Parameters +---------- + +================= ========== ========================================================= +**Name** **Type** **Default** +----------------- ---------- --------------------------------------------------------- +================= ========== ========================================================= + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/icinga/checks/nvidia.rst b/admin-guide/puppet/profiles/icinga/checks/nvidia.rst new file mode 100644 index 00000000..24566abb --- /dev/null +++ b/admin-guide/puppet/profiles/icinga/checks/nvidia.rst @@ -0,0 +1,31 @@ +``profile::icinga::checks::nvidia`` +======================================== + +This profile is called when ``nvidia`` is being configured through ``cuda`` + +Setup specific checks for the Puppet Client: + * It will check that ``nvidia-smi`` correctly responds with the NVIDIA GPU cards. + When kernel is updated, it may cause to boot up with the NVIDIA drivers. + +It will return OK and the list of GPUS when ``nvidia-smi`` correctly answers. +It will return CRITICAL and the error message when ``nvidia-smi`` is unable to detect GPU cards. + +Most probably in the future drivers will be directly checked. + +Parameters +---------- + +================== ========== ============================================================= +**Name** **Type** **Default** +------------------ ---------- ------------------------------------------------------------- +================== ========== ============================================================= + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/icinga/checks/puppet_client.rst b/admin-guide/puppet/profiles/icinga/checks/puppet_client.rst new file mode 100644 index 00000000..104b8ef4 --- /dev/null +++ b/admin-guide/puppet/profiles/icinga/checks/puppet_client.rst @@ -0,0 +1,33 @@ +``profile::icinga::checks::puppet_client`` +======================================== + +This profile is called when ``puppet`` client is being configured. + +Setup specific checks for the Puppet Client: + * It will check that the current running environment is ``puppet_environment``. + Otherwise it will return a **nagios** ``WARNING`` message and error. + +Parameters +---------- + +================== ========== ============================================================= +**Name** **Type** **Default** +------------------ ---------- ------------------------------------------------------------- +puppet_environment String hiera('icinga::checks::options::puppet_environment',**prod**) +================== ========== ============================================================= + +``puppet_environment`` +~~~~~~~~~~~~~~~~~~~~~~ + +This setting defaults to the puppet environment ``prod``. Can be changed from YAML by setting +``icinga::checks::options::puppet_environment`` to a different value. + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/icinga/checks/service.rst b/admin-guide/puppet/profiles/icinga/checks/service.rst new file mode 100644 index 00000000..2149cf09 --- /dev/null +++ b/admin-guide/puppet/profiles/icinga/checks/service.rst @@ -0,0 +1,35 @@ +``profile::icinga::checks::service`` +========================================== + +This class will configure Nagios checks for one or more ``systemctl`` services. This can be done by setting +a list of services with the ``icinga::checks::service::list`` *hiera* setting. ``check_service`` is the +script that will be in charge for that, which is also used by other Nagios scripts (i.e. ``check_slurm`` & +``check_gpfs``) to check specific services for these alarms. + +Parameters +---------- + +===================== ========== ========================================================================= +**Name** **Type** **Default** +--------------------- ---------- ------------------------------------------------------------------------- +service_list Array ``'icinga::checks::service::list'``, defaults to ``'[]'`` +===================== ========== ========================================================================= + +``service_list`` +~~~~~~~~~~~~~~~~~~~~~~ + +The default value is an empty ``Array`` (``'[]'``). Hence, no ``systemctl`` services are checked. +This value can be overwritten with a list of services. In example:: + icinga::checks::service::list: + - ntpd + - postfix + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/icinga/checks/slurm.rst b/admin-guide/puppet/profiles/icinga/checks/slurm.rst new file mode 100644 index 00000000..b2614129 --- /dev/null +++ b/admin-guide/puppet/profiles/icinga/checks/slurm.rst @@ -0,0 +1,87 @@ +``profile::icinga::checks::slurm`` +========================================== + +This profile should be called when **Slurm** (server, cn, ui) is being configured. + +Setup specific checks for Slurm nodes: + * It can check ``slurmd`` service. This check makes sense on computing nodes running ``slurmd``. + * It can check ``munge`` service. This check makes sense on any node with a configured **Slurm** client/server. + * It can check ``slurmctld`` service. This check makes sense on server nodes, will disable ``slurmd`` check. + * It can check ``slurmdbd`` service. This check makes sense on server nodes. + * It can check ``sinfo`` status, detecting miss-behaving nodes. + +By default, since the most common node in a **Slurm** cluster is a computing node, this check will report about +``slurmd`` and ``munge`` status. + +Parameters +---------- + +===================== ========== ========================================================================= +**Name** **Type** **Default** +--------------------- ---------- ------------------------------------------------------------------------- +skip_munge Boolean ``icinga::checks::options::slurm::skip_munge`` **``false``** +skip_slurmd Boolean ``icinga::checks::options::slurm::skip_slurmd``: **``false``** +check_slurmdbd Boolean ``icinga::checks::options::slurm::check_slurmdbd`` **``false``** +check_slurmctld Boolean ``icinga::checks::options::slurm::check_slurmctld`` **``false``** +ignore_draining Boolean ``icinga::checks::options::slurm::ignore_draining`` **``false``** +ignore_drained Boolean ``icinga::checks::options::slurm::ignore_drained`` **``false``** +check_nodes Boolean ``icinga::checks::options::slurm::check_nodes`` **``false``** +no_reason Boolean ``icinga::checks::options::slurm::no_reason`` **``true``** +no_timestamp Boolean ``icinga::checks::options::slurm::no_timestamp`` **``false``** +===================== ========== ========================================================================= + +``skip_munge`` +~~~~~~~~~~~~~~~~~~~~~~ + +By default ``munge`` service is checked. Can be disabled by setting ``icinga::checks::options::slurm::skip_munge: false``. + +``skip_slurmd`` +~~~~~~~~~~~~~~~~~~~~~ + +By default ``slurmd`` service is checked. Can be disabled by setting ``icinga::checks::options::slurm::skip_slurmd: false``. + + +``check_slurmdbd`` +~~~~~~~~~~~~~~~~~~~~~~~ + +By default ``slurmdbd`` service is disabled. Can be enabled by setting ``icinga::checks::options::slurm::check_slurmdbd: true``. + +``check_slurmctld`` +~~~~~~~~~~~~~~~~~~~~~~~~ + +By default ``slurmctld`` service is disabled. Can be enabled by setting ``icinga::checks::options::slurm::check_slurmctld: true``, in this case ``icinga::checks::options::slurm::skip_slurmd`` +should be also set to ``true``. + +`ignore_draining`` +~~~~~~~~~~~~~~~~~~~~~~~~~ + +By default nodes in ``draining`` state are checked and will be reported as ``[WARNING]``. This can be disabled by setting ``icinga::checks::options::slurm::ignore_draining: true``. +When set to ``true``, ``draining`` nodes will be reported anyway but will be considered as ``[OK]`` + +``ignore_drained`` +~~~~~~~~~~~~~~~~~~~~~~~~ + +By default nodes in ``drained`` state are checked and will be reported as ``[WARNING]``. This can be disabled by setting ``icinga::checks::options::slurm::ignore_drained: true``. +When set to ``true``, ``drained`` nodes will be reported anyway but will be considered as ``[OK]`` + +``no_reason`` +~~~~~~~~~~~~~~~~~~~~~ + +By default **no** ``Reason`` is reported. This is because it will add extra text to the alarm output when nodes are ``drained``/``draining``/``down``/``failed``. +Printing ``Reason`` can be turned on by setting ``icinga::checks::options::slurm::no_reason: false``. + +``no_timestamp`` +~~~~~~~~~~~~~~~~~~~~~ + +By default ``Timestamp`` is being reported. Timestamp shows the date and time when a node was set ``drained``/``draining``/``down``/``failed``. +As this setting adds extra text in the alarm, it can be disabled by setting ``icinga::checks::options::slurm::no_reason: true``. + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/icinga/client.rst b/admin-guide/puppet/profiles/icinga/client.rst new file mode 100644 index 00000000..f650de3e --- /dev/null +++ b/admin-guide/puppet/profiles/icinga/client.rst @@ -0,0 +1,56 @@ +``profile::icinga::client`` +========================== + +This profile installs and configured the ``nrpe`` service: + * Installs ``mod_gearman-static``, ``nrpe-selinux``, ``nrpe`` + * Instals Nagios plugins: ``nagios-plugins-disk``, ``nagios-plugins-load`` + * Manages the NRPE service and ensures that is ``running`` and ``enabled`` + * Allows to configure the ``nrpe.cfg`` file with the ``icinga::client::servers`` setting which defaults to ``[ 'emonma00.psi.ch','wmonag00.psi.ch','emonag00.psi.ch' ]`` (default value on fresh *nrpe* installations) + * SELinux policy setup to allow ``nagios_run_sudo``. + +Is strictly important to set up ``aaa::allow_sudoers_d`` to ``true``:: + ``aaa::allow_sudoers_d: true`` + +By setting ``allow_sudoers_d`` to ``true``, we enable by default the +use of the directory ``/etc/sudoers.d/``. This will required for some Nagios +alarms. + +Parameters +---------- + +================= ========== ========================================================= +**Name** **Type** **Default** +----------------- ---------- --------------------------------------------------------- +servers Array hiera('icinga::client::servers') +blame Array hiera('icinga::client::dont_blame_nrpe', 0) +================= ========== ========================================================= + +``servers`` +~~~~~~~~~~~~~~~~~ + +The local parameter for ``icinga::client::servers`` is ``servers``. Defaults to ``[ 'emonma00.psi.ch','wmonag00.psi.ch','emonag00.psi.ch' ]`` +which is the default value in the ``nrpe.cfg`` file on fresh ``nrpe`` installations. Somebody can +overwrite this value with a new ``Array`` of Icinga servers. This ``Array`` will be converted to ``String`` +afterwards:: + + ... + Array $servers = hiera('icinga::client::servers'), + ... + $icinga_servers = join($servers,",") + ... + +``blame`` +~~~~~~~~~ + +With this option, the NRPE will allow clients to specify arguments in the commands. By default this is ``disabled``: arguments must be +specified in the NRPE daemon side and not from the client side. This option modifies the setting ``dont_blame_nrpe`` in the ``nrpe.cfg`` file. + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/icinga/nrpe.rst b/admin-guide/puppet/profiles/icinga/nrpe.rst new file mode 100644 index 00000000..eb96450f --- /dev/null +++ b/admin-guide/puppet/profiles/icinga/nrpe.rst @@ -0,0 +1,55 @@ +``profile::icinga::nrpe`` +========================== + +This profile is a function that configures ``nrpe`` and ``sudoers`` (whenever needed) for a specific command: + * Will create a ``/etc/nrpe.d/.cfg`` file for ``nrpe`` + * Will create a ``/etc/sudoers.d/`` file for ``sudoers`` (if ``sudo`` is required) + +Parameters +---------- + +================= ========== ========================================================= +**Name** **Type** **Default** +----------------- ---------- --------------------------------------------------------- +command String +sudo Boolean ``false`` +notifications_enabled Boolean ``true`` +================= ========== ========================================================= + +``command`` +~~~~~~~~~~~~~~~~~ + +Full path for the command to be configured in the ``nrpe.d`` file. This will be translated +in the ``nrpe.d`` as:: + + # sudo = true + command[${title}]=/usr/bin/sudo ${command} + + # sudo = false + command[${title}]=${command} + +``sudo`` +~~~~~~~~~ + +Whether ``sudo`` is required or not for that command. By default is ``false``. +When set to ``true``, ``/usr/bin/sudo`` will be added to the ``nrpe`` command, and proper +``sudoers`` file will be configured. Example:: + + Defaults:nrpe !requiretty + nrpe ALL=(root) NOPASSWD: ${command} + +``notifications_enables`` +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Currently this settings has no effect. Will be used when exporting Nagios resources to the PuppetDB. +Please ignore it in the meantime. + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/infiniband.rst b/admin-guide/puppet/profiles/infiniband.rst new file mode 100644 index 00000000..3e3683c8 --- /dev/null +++ b/admin-guide/puppet/profiles/infiniband.rst @@ -0,0 +1,53 @@ +``profile::infiniband`` +======================= + +Installs and configures the Infiniband software stack. + + * New service ``ib-online`` is being installed, which will wait until IB gets online. The script ``/opt/pli/libexec/ib-check-active-ports`` is used for that. + * Setup of the ``/etc/sysconfig/network-scripts/ifcfg-${ib_ifname}`` files. + * Installation of ``/usr/local/bin/mlxup`` which is useful for checking firmware version and upgrade Mellanox IB cards directly from Mellanox. + * OFED repository + installation of the following packages: ``ibutils``, ``infiniband-diags``, ``mlnx-ofed-basic``, ``librdmacm-devel``, ``perftest``, ``infinipath-psm`` + +Parameters +---------- + +========== ========= ========================== +**Name** **Type** **Default** +---------- --------- -------------------------- +ib_ifname string *undef* +ib_ip string *undef* +ib_subnet string *undef* +repo_tag String *yum_client::repo_tag* +ofed_vers String *infiniband::ofed_version* +========== ========= ========================== + + +``ib_ifname`` +~~~~~~~~~~~~~ + +The name of the Infiniband interface. + + +``ib_ip`` +~~~~~~~~~ + +The IP to be configured on the Infiniband interface. + + +``ib_subnet`` +~~~~~~~~~~~~~ + +The subnet to be used on the Infiniband interface in CIDR notation. + + +``repo_tag`` +~~~~~~~~~~~~ + +Which ``yum`` ``repo_tag`` should be used. In example, ``latest`` can be used. + + +``ofed_vers`` +~~~~~~~~~~~~~ + +OFED version to be installed and configured. Format: ``X.Y-A.B.C.D``, where X.Y is the major OFED version and +A.B.C.D is the subversion. diff --git a/admin-guide/puppet/profiles/jupyterhub.rst b/admin-guide/puppet/profiles/jupyterhub.rst new file mode 100644 index 00000000..e86fd822 --- /dev/null +++ b/admin-guide/puppet/profiles/jupyterhub.rst @@ -0,0 +1,138 @@ +``profile::jupyterhub`` +===================== + +This module configures the node for running a jupyterhub service +able to spawn singleuser servers on cluster nodes via SLURM + +The jupyterhub software itself will not be installed by this +module. It is expected to be found in an existing environment +usually installed separately by ``conda`` and centrally served on a +distributed file system (There is a reference installation in the +environment module ``anaconda/2019.03`` within the +``jupyterhub_dev_py36`` conda environment) + +Supported jupyterhub versions: jupyterhub-0.96 or the current +(as of 2019-05) development version 1.0.0b1. The development version is preferred +due to recent fixes that enable a clean shutdown on a batch cluster. + +Optional customization of User selectable options +------------------------------------------------- + +This installation uses the `optionsSpawner `_ plugin to offer user selectable +customizations on the spawning web page. By default, a simple dialog +with selectable partitions and runtime is offered. If a more extended +customization page is required, the administrator can create the file +``/etc/jupyterhub/optionsspawner_config.py`` and put additional options inside. +The jupyterhub main configuration file ``/etc/jupyterhub/jupyterhub_config.py`` +will check whether the file exists and load it. In this way we can +keep the puppet module more generic. + +Some adaptions may require deeper changes to the configuration file +and adaption of the puppet code + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +admin_users Array hiera('jupyterhub\:\:admin_users') +api_port Integer hiera('jupyterhub\:\:api_port', 8080) +env_setup String hiera('jupyterhub\:\:env_setup') +group_whitelist Array hiera('jupyterhub\:\:group_whitelist') +hub_port Integer hiera('jupyterhub\:\:hub_port', 8000) +hub_version String hiera('jupyterhub\:\:hub_version') +partitions Hash hiera('jupyterhub\:\:partitions') +tls_cert String hiera('jupyterhub\:\:tls_cert') +tls_key String hiera('jupyterhub\:\:tls_key') +=============================== ======== ================================================ + + + +``admin_users`` +~~~~~~~~~~~~~~~ + +A list of user names. These users will get access to the jupyterhub administration +web pages. + +Example: + +:: + + jupyterhub::admin_users: + - 'feichtinger' + - 'caubet_m' + - 'bliven_s' + - 'loktionova_n' + +``api_port`` +~~~~~~~~~~~~ + +Port number of the port on which the jupyterhub API will be listening (internally +used by jupyterhub for control communications) + +``env_setup`` +~~~~~~~~~~~~~ + +Lines to be inserted into the bash scripts for defining the +jupyterhub environment for both the server and the spawned client +sessions (it is important that the server and the singleserver +client host both run the same jupyterhub and spawner codes) + +Example: + +.. code:: bash + + export PMODULES_VERSION=1.0.0rc4 + source /opt/psi/config/profile.bash + module use unstable &> /dev/null + module load anaconda/2019.03 &> /dev/null + conda activate jupyterhub_dev + +``group_whitelist`` +~~~~~~~~~~~~~~~~~~~ + +A list of unix groups that will be granted access to this jupyterhub. + +Example: + +:: + + jupyterhub::group_whitelist: + - 'svc-cluster_merlin5' + +``hub_port`` +~~~~~~~~~~~~ + +The main port to which clients will connect. + +``hub_version`` +~~~~~~~~~~~~~~~ + +Version String of jupyterhub. Currently either '0.96' or '1.0.0b2' is +supported. Recommended: '1.0.0b2'. + +partitions +~~~~~~~~~~ + +SLURM partitions to be offered in the default option selection. Should be +a mapping of partition names to descriptive strings. + +Example: + +:: + + jupyterhub::partitions: + 'test' : 'Test nodes' + 'merlin' : 'merlin standard' + 'gpu' : 'GPU nodes' + +tls_cert +~~~~~~~~~ + +String (PEM Format) of the web server certificate + +tls_key +~~~~~~~~ + +Eyaml encoded string of the web server certificate key (PEM format) diff --git a/admin-guide/puppet/profiles/kdump_client.rst b/admin-guide/puppet/profiles/kdump_client.rst new file mode 100644 index 00000000..4299bff2 --- /dev/null +++ b/admin-guide/puppet/profiles/kdump_client.rst @@ -0,0 +1,42 @@ +``profile::kdump_client`` +========================= + +This profile manages the ``kdump`` service. It automatically reserves memory for +the crash kernel. + + +Parameters +---------- + +=========== ======== ================================================ +**Name** **Type** **Default** +----------- -------- ------------------------------------------------ +crashkernel string hiera('kdump_client::crashkernel') +target string hiera('kdump_client::target') +=========== ======== ================================================ + + +``crashkernel`` +~~~~~~~~~~~~~~~ + +Configures the kernel parameter ``crashkernel``, which specifies the amount of +memory to be reserved for the crash kernel. This can be ``auto`` or ``xxxM``. +Further information is provided by `Red Hat +`_. + + +``target`` +~~~~~~~~~~ + +The target for kernel dumps as documented in ``kdump.conf(5)``. Currently SSH +targets do not work, as there is no way to specify an SSH key. + + +Examples +-------- + +Transfer kernel dumps to a remote server using NFS:: + + class {'kdump': + target => 'nfs some-server.psi.ch/crashes/', + } diff --git a/admin-guide/puppet/profiles/local_accounts.rst b/admin-guide/puppet/profiles/local_accounts.rst new file mode 100644 index 00000000..cefb491f --- /dev/null +++ b/admin-guide/puppet/profiles/local_accounts.rst @@ -0,0 +1,99 @@ +``profile::local_accounts`` +=========================== + +This module helps managing local users and groups. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +group_defs hash hiera('local_accounts::group_defs') +groups hash hiera('local_accounts::groups') +user_defs hash hiera('local_accounts::user_defs') +users list hiera('local_accounts:users') +=============================== ======== ================================================ + + +``group_defs`` +~~~~~~~~~~~~~~ + +A hash containing the definitions of local groups. The keys are the group names, +the values are the numeric group IDs. + + +Example:: + + local_accounts::group_defs: + 'my_local_group': 673 + +Also see `groups`_. + + +``groups`` +~~~~~~~~~~ + +A list containing the names of the local groups to be created. The definition +for each group is taken from `group_defs`_. + + +``user_defs`` +~~~~~~~~~~~~~ + +A hash containing the definitions of local users. The keys are the user names, +the values are hashes containing the usual user properties, ie: + +============ ========================== +``password`` password hash (optional) +``uid`` numeric UID (required) +``gid`` numeric GID (required) +``comment`` comment (optional) +``home`` home directory (required) +``shell`` shell (required) +============ ========================== + + +``users`` +~~~~~~~~~ + +A list of the users to be created. The definition of each user is taken from +`user_defs`_. + + +Examples +-------- + +The following defines three users and one group, but only creates one each:: + + local_accounts::group_defs: + 'archadm': 503 + + local_accounts::user_defs: + 'ioc': + 'uid': 500 + 'gid': 9102 + 'home': '/home/ioc' + 'shell': '/bin/bash' + 'comment': 'IOC Account' + + 'slsop': + 'uid': 501 + 'gid': 9102 + 'home': '/home/slsop' + 'shell': '/bin/bash' + 'comment': 'SLS Operator' + + 'archadm': + 'uid': 503 + 'gid': 503 + 'home': '/home/archadm' + 'shell': '/bin/bash' + 'comment': '' + + local_accounts::groups: + - 'archadm' + + local_accounts::users:: + - 'archadm' diff --git a/admin-guide/puppet/profiles/log_client.rst b/admin-guide/puppet/profiles/log_client.rst new file mode 100644 index 00000000..39b089ba --- /dev/null +++ b/admin-guide/puppet/profiles/log_client.rst @@ -0,0 +1,91 @@ +``profile::log_client`` +======================= + +This module manages the local logging-related configuration. + +It can make the journal permanent, enable or disable legacy configuration files +(e.g. ``/var/log/messages``), and configure log forwarding. + + +Parameters +---------- + +============================ ======== ================================================== +**Name** **Type** **Default** +---------------------------- -------- -------------------------------------------------- +forward_to list hiera('log_client::forward_to', []) +legacy_logs bool hiera('log_client::legacy_logs') +persistent_journal bool hiera('log_client::persistent_journal') +journal_system_keep_free string hiera('log_client::journal_system_keep_free') +journal_system_max_file_size string hiera('log_client::journal_system_max_file_size') +journal_system_max_use string hiera('log_client::journal_system_max_use') +============================ ======== ================================================== + + +``journal_system_keep_free`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +How much space :manpage:`systemd-journald(8)` should keep free for non-journal +use in ``/var/log``. In addition to the syntax described in +:manpage:`journald.conf(5)` we also support percentages, ie ``'25%'`` means that +the journal will leave at least 25% of ``/var/log`` for other uses. + + +``journal_system_max_file_size`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The maximum size of individual journal files. + + +``journal_system_max_use`` +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The maximum amount of space that the journal is allowed to use. In addition to +the syntax described in :manpage:`journald.conf(5)` we also support percentages, +ie ``'50%'`` means that the journal can use at most 50% of ``/var/log``. + + +``forward_to`` +~~~~~~~~~~~~~~ + +An array of FQDNs, possibly prefixed with ``@`` for enabling TCP and followed by +a port number. Log messages are forwarded to all entries in this list. + + +``legacy_logs`` +~~~~~~~~~~~~~~~ + +A boolean controlling whether the legacy log files (``/var/log/messages`` etc) +should be created (true) or not (false). + + +``persistent_journal`` +~~~~~~~~~~~~~~~~~~~~~~ + +A boolean controlling whether the journal should be persistent (true) or not +(false). + + +Examples +-------- + +This profile is included in the base role. To customize the log_client in a +role, do this:: + + class role::some_role () { + class {'role::base': + include_log_client => false, + ... + } + + class {'profile::log_client': + legacy_logs => false, + persistent_journal => true, + } + +In Hiera, configure forwarding to ``log1`` using UDP on port 1514 and to +``log2`` using TCP (on port 514):: + + log_client::forward_to: + - 'log1.psi.ch:1514' + - '@log2.psi.ch' diff --git a/admin-guide/puppet/profiles/log_server.rst b/admin-guide/puppet/profiles/log_server.rst new file mode 100644 index 00000000..2c87648a --- /dev/null +++ b/admin-guide/puppet/profiles/log_server.rst @@ -0,0 +1,25 @@ +``profile::log_server`` +============================= + + +Parameters +---------- + +======== ========= ================================= +**Name** **Type** **Default** +-------- --------- --------------------------------- +base_dir string hiera('log_server::base_log_dir') +rules list hiera('log_server::rules') +======== ========= ================================= + + +``base_dir`` +~~~~~~~~~~~~ + +This parameter designates the directory where the log data is stored. + + +``rules`` +~~~~~~~~~ + +A list of rules to add to the end of ``/etc/rsyslog.conf``. diff --git a/admin-guide/puppet/profiles/mkresource/files.rst b/admin-guide/puppet/profiles/mkresource/files.rst new file mode 100644 index 00000000..685fc7cb --- /dev/null +++ b/admin-guide/puppet/profiles/mkresource/files.rst @@ -0,0 +1,107 @@ +``profile::mkresource::files`` +============================== + +``profile::mkresource::files`` is a puppet ``define`` (a.k.a. ``function``) which easily allows the creation of files +through the puppet ``file`` resource (through the ``create_resources`` puppet function. + +This ``define`` is intended to be called in a controlled way from a ``role`` or from another ``profile``, through an ``Array`` +list. However, it also allows the possibility to provide freedom by calling it through a ``Hash`` of files. Further information +is explained below": + +* ``Array``: In order to have more control on the files that are being created. In example:: + + # Begin: puppet class + class role::hpc::ui ( + Array $scratch = hiera('base::scratch', []), + ... + ) { + ... + profile::mkresource::files { "scratch": + files => $scratch, + defaults => { mode => '1777' }; + } + ... + } + # End: puppet class + + # Begin: hiera call + base::scratch: + - '/scratch' + - '/ssd-scratch' + # End: hiera call + +* ``Hash``: This will provide more flexibility from the user side. Only really strange cases will be allowed. Example:: + + # Begin: puppet class + class role::hpc::ui ( + Array $scratch = hiera('base::scratch', {}), + ... + ) { + ... + profile::mkresource::files { "scratch": + files => $scratch; + } + ... + } + # End: puppet class + + # Begin: hiera call + base::scratch: + '/scratch': + ensure: directory + mode: '1777' + owner: 'root' + group: 'root' + '/ssd-scratch' + ensure: directory + mode: '1770' + group: 'svc-cluster_merlin5' + # End: hiera call + +Parameters +---------- + +========== ==================== ========================== +**Name** **Type** **Default** +---------- -------------------- -------------------------- +$files Variant[Array, Hash] {} +$defaults Hash {} +========== ==================== ========================== + + +``files`` +~~~~~~~~~~~~~ +Defaults to ``Hash`` type ``{}``. Whenever is an ``Array``, it will be converted to ``Hash`` as ``create_resources`` is used and +it always expects a ``Hash``. + +Two different call examples: + +* ``Hash``:: + + base::scratch: + '/scratch': + ensure: directory + mode: '1777' + owner: 'root' + group: 'root' + '/ssd-scratch' + ensure: directory + mode: '1770' + group: 'svc-cluster_merlin5' + +* ``Array``:: + + base::scratch: + - '/scratch' + - '/ssd-scratch' + +``defaults`` +~~~~~~~~~ + +Defaults to empty ``Hash``. Should contain ``file`` resource parameters (in example, ``mode``, ``owner``, ``group``, ``ensure``, etc.) +Example:: + + profile::mkresource::files { "scratch": + files => [ '/scratch', '/ssd-scratch' ], + defaults => { mode => '1777' }; + } diff --git a/admin-guide/puppet/profiles/mounter.rst b/admin-guide/puppet/profiles/mounter.rst new file mode 100644 index 00000000..c99335eb --- /dev/null +++ b/admin-guide/puppet/profiles/mounter.rst @@ -0,0 +1,191 @@ +``profile::mounter`` +==================== + +This module manages mounts and installs filesystem-specific utilities. + +Mounts are configured using the Puppet ``mount`` resource type, ie. they get +added to ``/etc/fstab``. Auto-mounts are implemented by adding the +``x-systemd.automount`` option. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +mounts Array [] +def::$NAME Hash None +cifs_files Array [] +cifs::def::$NAME Hash None +=============================== ======== ================================================ + + +``mounter::def::$NAME`` +~~~~~~~~~~~~~~~~~~~~~~~ + +A hash defining a mount ``$NAME`` which can then be referenced by a module or +through the Hiera variable ``mounter::mounts``. + +The hash may contain the following keys: + +- ensure + + Is passed to the ``mount`` resource type unaltered with the following + exception. If the value is ``running``, it is changed to ``mounted``. This + ensures compatibility with an older version of this module. + +- mountpoint + + Will be created, if necessary. + +- device +- options +- type + + The filesystem type. Passed to the ``mount`` resource as ``fstype``. + +- auto + + Whether or not this mount should be automounted. Default: ``false``. + +- updatedb + + A boolean specifying whether :manpage:`updatedb(8)` should index the files + below the mountpoint. See the :doc:`updatedb <../components/updatedb>` + module for details. + + +``mounter::mounts`` +~~~~~~~~~~~~~~~~~~~ + +An array of strings referring to mount definitions to be configured on the +target system. Each string is the name of a mount defined through +`mounter::def::$NAME`_. + +``mounter::cifs::def::$NAME`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +A ``Hash`` containing information for creating an authentication file for CIFS +mounts. + +The ``Hash`` may contain the following keys: + +- ensure + + Is passwed to the ``profile::mounter::cifs`` resource, should contain any + possible value for the attribut ``ensure`` in a ``File`` resource type. + Usually, ``present`` will ensure that file is existing and updated will + ``absent`` will remove it. + +- path + + This is mandatory, should contain the path where the new credential file + should be located. Usually, ``/etc/cifs-utils`` would be a good option. + +- mode + + Defaults to ``0400``. It can be changed. + +- owner + + Defaults to ``root`` user. It can be changed. + +- group + + Defaults to ``group`` user. It can be changed. + +- cifs_username + + Must be defined. Should contain the ``username`` of the user allowed to + mount the CIFS mountpoint. + +- cifs_password + + Must be defined. Should contain the ``password`` of the user allowed to + mount the CIFS mountpoint, defined with ``cifs_username``. + + +``mounter::cifs`` +~~~~~~~~~~~~~~~~~ + +This defined type takes the paremters accepted for CIFS definitions (see +`mounter::cifs::de::$NAME`_). + + +Defined Types +------------- + +``mount`` +~~~~~~~~~ + +This defined type takes the parameters accepted for mount definitions (see +`mounter::def::$NAME`_). + + +Examples +-------- + +Local mount +~~~~~~~~~~~ + +A local mount can be configured in the following way:: + + mounter::def::scratch: + ensure: 'mounted' + mountpoint: '/scratch' + device: '/dev/vg_data/lv_scratch' + type: 'xfs' + + mounter::mounts: + - 'scratch' + + +To have the ``scratch`` mount from the previous example auto-mounted instead, +add the ``auto`` parameter:: + + mounter::def::scratch: + ensure: 'mounted' + mountpoint: '/scratch' + device: '/dev/vg_data/lv_scratch' + type: 'xfs' + auto: true + + mounter::mounts: + - 'scratch' + + +Supposedly this is a scratch mount, so we exclude the whole mount both from +backups and from updatedb. + +Remote Mount +~~~~~~~~~~~~ + +Remote CIFS mountpoint can be defined as follows:: + + mounter::cifs::def::cifs_mpc2375: + ensure: 'present' + path: '/etc/cifs-utils' + cifs_username: 'allowedWindowsUser' + cifs_password: 'ENC[PKCS7,MIIBeQYJKoZIhvc...]' + + mounter::cifs::files: + - 'cifs_mpc2375' + + mounter::def::emf: + ensure: 'running' + enable: 'true' + device: '//172.23.75.16/Users' + mountpoint: '/emf/jeol2200fs/k2' + type: 'cifs' + options: 'credentials=/etc/cifs-utils/cifs_mpc2375,uid=35667,gid=35270,forcegid,file_mode=0660,dir_mode=0770' + + mounter::mounts: + - 'emf' + +In the above example, we need to create a ``credentials`` file with `mounter::cifs::def::$NAME`_. This file will +be called ``cifs_mpc2375`` and will be located in ``/etc/cifs-utils`` and will contain information about the +username and password allowed to mount it. + +On the other hand, a mount ``emf`` is defined. You should specify in options the location of ``credentials``. +Other optional parameters are used. ``emf`` is mounted with type ``cifs``, which will automatically ensure that +proper ``cifs-utils`` package is installed. diff --git a/admin-guide/puppet/profiles/mta.rst b/admin-guide/puppet/profiles/mta.rst new file mode 100644 index 00000000..74a06520 --- /dev/null +++ b/admin-guide/puppet/profiles/mta.rst @@ -0,0 +1,16 @@ +``profile::mta`` +================ + +This module manages configures the system's MTA, currently +:manpage:`postfix(1)`. At the moment it only configures a relay host and +restricts access to the loopback interface. + + +Parameters +---------- + + +``relay`` +~~~~~~~~~ + +The FQDN of a host that all outgoing mail will be forwarded to for delivery. diff --git a/admin-guide/puppet/profiles/multipath.rst b/admin-guide/puppet/profiles/multipath.rst new file mode 100644 index 00000000..d71c6759 --- /dev/null +++ b/admin-guide/puppet/profiles/multipath.rst @@ -0,0 +1,147 @@ +``profile::multipath`` +======================= + +This profile configures :manpage:`multipath.conf`. + + +Parameters +---------- + +==================== ======== ============================================= +**Name** **Type** **Default** +-------------------- -------- --------------------------------------------- +wwid hash hiera_hash('multipath::wwid',{}) +blacklist_wwid hash hiera_hash('multipath::blacklist_wwid',{}) +devices array hiera_hash('multipath::devices',{}) +blacklist_devices array hiera_hash('multipath::blacklist_devices',{}) +blacklist_devnode array hiera_hash('multipath::blacklist_devnode',{}) +==================== ======== ============================================= + + +``wwid`` +~~~~~~~~ + +A hash containing the `allowed multipaths` by adding the `device alias` and its corresponding `'wwid'`. +In example: + +Hiera data:: + + profile::multipath::wwid: + 'vol1_a': '360080e50004315f40000087e5966df82' + 'vol1_b': '360080e5000431680000007c35966e03e' + 'vol1_c': '360080e50004315f4000008825966e1bf' + +will generate the following lines in the `'/etc/multipath.conf'` file:: + + multipaths { + multipath { + alias vol1_a + wwid "360080e50004315f40000087e5966df82" + } + multipath { + alias vol1_b + wwid "360080e5000431680000007c35966e03e" + } + multipath { + alias vol1_c + wwid "360080e50004315f4000008825966e1bf" + } + } + +``blacklist_wwid`` +~~~~~~~~~~~~~~~~~~ + +An hash containing `blacklisted multipaths` by adding the `device alias` and its corresponding `wwid`. In example: + +Hiera data:: + + profile::multipath::blacklist_wwid: + 'vol1_j': '360080e50004315f40000087e59aaaaaa' + +will generate the following lines in the `'/etc/multipath.conf'` file:: + + blacklist { + ... + multipath { + alias vol1_j + wwid "360080e50004315f40000087e59aaaaaa" + } + ... + } + + +``devices`` +~~~~~~~~~~~ + +An array containing `allowed devices` in the `multipath.conf` configuration. In example: + +Hiera data:: + + profile::multipath::devices: + - vendor: "Supermicro" + product: "Supermicro" + + +will generate the following lines in the `'/etc/multipath.conf'` file:: + + devices { + device { + vendor "Supermicro" + product "Supermicro" + } + } + + +``blacklist_devices`` +~~~~~~~~~~~~~~~~~~~~~ + +An array containing `blacklisted devices` in the `multipath.conf` configuration. In example: + +Hiera data:: + + profile::multipath::blacklist_devices: + - vendor: "HP" + product: "HP" + - vendor: "HP" + +will generate the following lines in the `'/etc/multipath.conf'` file:: + + blacklist { + ... + device { + vendor "HP" + product "HP" + } + device { + vendor "HP" + } + ... + } + + +``blacklist_devnode`` +~~~~~~~~~~~~~~~~~~~~~ + +An array containing a list of `node devices` that will be `blacklisted` in `multipath.conf`. +By default some `'devnodes'` are already included and fixed by default in the template file. These ones are the following:: + + devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st)[0-9]*" + devnode "^(td|hd|vd)[a-z]" + devnode "^(dcssblk)[0-9]*" + +In example, hiera data:: + + profile::multipath::blacklist_devnode: + - "sda" + - "sdb" + +will generate the following lines in the `'/etc/multipath.conf'` file:: + + blacklist { + ... + devnode "sda" + devnode "sdb" + ... + } + + diff --git a/admin-guide/puppet/profiles/networking.rst b/admin-guide/puppet/profiles/networking.rst new file mode 100644 index 00000000..8e0b37a8 --- /dev/null +++ b/admin-guide/puppet/profiles/networking.rst @@ -0,0 +1,65 @@ +``profile::networking`` +============================ + +This module configures most network-related settings, in particular: + +- DNS resolution (``/etc/resolv.conf``) +- DNS caching (via :manpage:`nscd(8)`) +- static host entries + +Notable exceptions are the firewall and ``/etc/hosts.{allow,deny}``. + +It also provides information about networks to other modules through the +variables listed below: + +- ``profile::networking::zone`` + + The name of network zone. This is used by the :doc:`ntp_client + <../profiles/ntp_client>` profile, for example, to determine which NTP servers + to use. + +- ``profile::networking::use_bastions`` + + This boolean indicates to the :doc:`aaa <../profiles/aaa>` profile whether SSH + access should be restricted to connections coming from the bastion hosts. + + +Notes: + +- the DNS cache is configured to be persistent, i.e. the cached data will + survive restarts of ``nscd.service``. To clear the cache, run ``nscd -i + hosts`` or ``systemctl reload nscd``. + + +Parameters +---------- + + +``dns_servers`` +~~~~~~~~~~~~~~~ + +The list of DNS servers (IP addresses) to be configured. This is only effective +if the client doesn't use DHCP (see `enable_dhcp`_). + + +``enable_dhcp`` +~~~~~~~~~~~~~~~ + +If this is true, then settings that are typically configured through DHCP (e.g. +DNS servers) are not touched by this module. + + +``enable_dns_caching`` +~~~~~~~~~~~~~~~~~~~~~~ + +This boolean determines whether DNS caching with nscd is enabled (``true``) or +not (``false``). It is only effective if the client doesn't use DHCP (see +`enable_dhcp`_). + + +``static_host_entries`` +~~~~~~~~~~~~~~~~~~~~~~~ + +A hash representing static host entries. The keys are the IP addresses, the +values are expected to be lists of aliases for the given IP address. Special IP +addresses like 127.0.0.1 are not allowed. diff --git a/admin-guide/puppet/profiles/nfs_server.rst b/admin-guide/puppet/profiles/nfs_server.rst new file mode 100644 index 00000000..eeec8b19 --- /dev/null +++ b/admin-guide/puppet/profiles/nfs_server.rst @@ -0,0 +1,68 @@ +``profile::nfs_server`` +======================= + +This module manages the Linux kernel NFS server and configures the exports. + +See `Implementation Notes`_ below for details. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +exports hash hiera('nfs_server::exports') +=============================== ======== ================================================ + + +``exports`` +~~~~~~~~~~~ + +A hash containing the NFS exports to be configured. The keys are the pathnames +to be exported, the values are hashes with two attributes: + +- ``options``: the default options for the export +- ``clients``: a list of hashes describing the clients + +The hashes describing the clients have two entries as well, the second one being +optional: + +- ``hosts``: a client specification as described in :manpage:`exports(5)` +- ``options`` (optional): an option string specific to these clients + +Example:: + + nfs_server::exports: + # Make software available via NFS. Installation happens + # on builder.psi.ch. + '/exports/prog': + options: 'ro,root_squash' + clients: + - hosts: '129.129.0.0/16' + - hosts: 'builder.psi.ch' + options: 'rw,no_root_squash' + # Scratch directories for prod servers. Files on scratch + # are cleaned up by a cron job on janitor.psi.ch. + '/exports/scratch': + options: 'rw,root_squash' + clients: + - hosts: '129.129.160.0/24' + - hosts: '129.129.190.0/24' + - hosts: 'janitor.psi.ch' + options: 'no_root_squash' + + +Implementation Notes +-------------------- + +We pass ``--manage-gids`` to :manpage:`rpc.mountd(8)` to avoid the following +problem. When not using Kerberos, the NFS client passes a list of groups (GIDs +really) that the user is a member of, and the server consults this list when +making access decisions. The client can pass at most 16 groups, which means that +if a user is a member of more than 16 groups, they may be denied access even +though they are a member of the necessary group. + +One solution is to use Kerberos, the other is to have the server determine group +membership itself, ignoring the client's list. The latter is what +``--manage-gids`` does. diff --git a/admin-guide/puppet/profiles/nomachine.rst b/admin-guide/puppet/profiles/nomachine.rst new file mode 100644 index 00000000..b48be1ee --- /dev/null +++ b/admin-guide/puppet/profiles/nomachine.rst @@ -0,0 +1,45 @@ +``profile::nomachine`` +======================= + +Installs and configures a NoMachine server. i + + +This is the main class. It will configure several settings (license, service), but also +depending on the ``$nomachine_profile`` setting (defined from hiera with +``hiera('nomachine::profile')``), it will trigger different configurations according to +its profile type. + +Dependencies +------------ + +``profile::nomachine`` is invoked from the ``role::base``. In order to be able to install +NoMachine, you must setup the following setting in hiera: ``base::enable_nomachine: true`` + +Parameters +---------- + +================== =========================================== ============================= +**Name** **Type** **Default** +------------------ ------------------------------------------- ----------------------------- +$nomachine_profile Enum['desktop', 'terminal', 'workstation' ] *No default. Must be defined* +================== =========================================== ============================= + +``nomachine_profile`` +~~~~~~~~~~~~~~~~~~~~~ + +This is the NoMachine profile type. Depending on the profile type, it will call a different +sub-profile: + +- ``desktop``: + + profile::nomachine::desktop + +- ``terminal``: + + profile::nomachine::terminal + +- ``workstation``: + + profile::nomachine::workstation + +Each type contains its own specific settings and packages. diff --git a/admin-guide/puppet/profiles/nomachine/desktop.rst b/admin-guide/puppet/profiles/nomachine/desktop.rst new file mode 100644 index 00000000..aab1f245 --- /dev/null +++ b/admin-guide/puppet/profiles/nomachine/desktop.rst @@ -0,0 +1,55 @@ +``profile::nomachine::desktop`` +=============================== + +This is a sub-class for ``profile::nomachine``. + +Installs and configures NoMachine with profile type ``desktop``. + +Dependencies +------------ + +This is part of the ``profile::nomachine``. + +Parameters +---------- + +==================================== ========= ======================================================================================================================================================================================== +**Name** **Type** **Default** +------------------------------------ --------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +$nomachine_version String ``hiera('nomachine::desktop::version')`` +$server_EnableUPnP String ``hiera('nomachine::desktop::server::EnableUPnP', 'NX')`` +$server_ConnectionsLimit Integer ``hiera('nomachine::desktop::server::ConnectionsLimit', 20)`` +$server_ConnectionsUserLimit Integer ``hiera('nomachine::desktop::server::ConnectionsUserLimit', 20)`` +$server_VirtualDesktopMode Integer ``hiera('nomachine::desktop::server::VirtualDesktopMode', 2)`` +$server_VirtualDesktopsLimit Integer ``hiera('nomachine::desktop::server::VirtualDesktopsLimit', 20)`` +$server_VirtualDesktopsUserLimit Integer ``hiera('nomachine::desktop::server::VirtualDesktopsUserLimit', 20)`` +$server_SSHAuthorizedKeys String ``hiera('nomachine::desktop::server::SSHAuthorizedKeys', 'authorized_keys')`` +$server_PhysicalDesktopAuthorization Integer ``hiera('nomachine::desktop::server::PhysicalDesktopAuthorization', 0)`` +$server_PhysicalDesktopMode Integer ``hiera('nomachine::desktop::server::PhysicalDesktopMode', 1)`` +$server_PhysicalDesktopSharing Integer ``hiera('nomachine::desktop::server::PhysicalDesktopSharing', 1)`` +$server_EnableNetworkBroadcast Integer ``hiera('nomachine::desktop::server::EnableNetworkBroadcast', 1)`` +$server_AvailableSessionTypes String ``hiera('nomachine::desktop::server::AvailableSessionTypes', 'physical-desktop,shadow')`` +$node_DefaultDesktopCommand String ``hiera('nomachine::desktop::node::DefaultDesktopCommand', '"/etc/X11/xinit/Xsession \'gnome-session --session=gnome\'"')`` +$node_AvailableSessionTypes String ``hiera('nomachine::desktop::node::AvailableSessionTypes', 'unix-remote,unix-console,unix-default,unix-application,physical-desktop,shadow,unix-xsession-default,unix-gnome,unix-xdm')`` +$node_EnableSmartcardSharing Integer ``hiera('nomachine::desktop::node::EnableSmartcardSharing', 1)`` +$node_AudioInterface String ``hiera('nomachine::desktop::node::AudioInterface', 'disabled')`` +$node_EnableCUPSSupport Integer ``hiera('nomachine::desktop::node::EnableCUPSSupport', 1)`` +$node_ClientConnectionMethods String ``hiera('nomachine::desktop::node::ClientConnectionMethods', 'NX,SSH')`` +$node_DisplayServerThreads String ``hiera('nomachine::desktop::node::DisplayServerThreads', 'auto')`` +$node_DisplayEncoderThreads String ``hiera('nomachine::desktop::node::DisplayEncoderThreads', 'auto')`` +==================================== ========= ======================================================================================================================================================================================== + +``nomachine_version`` +~~~~~~~~~~~~~~~~~~~~~ + +This parameters must be defined. Please see ``common.yaml`` for checking the default value. + +``server_*`` +~~~~~~~~~~~~ + +``$server_*`` paremeters are customizable settings for the NoMachine ``server.cfg`` configuration file. Please refer to NoMachine official documentation for more information. + +``node_*`` +~~~~~~~~~~ + +``$node_*`` paremeters are customizable settings for the NoMachine ``node.cfg`` configuration file. Please refer to NoMachine official documentation for more information. diff --git a/admin-guide/puppet/profiles/nomachine/license.rst b/admin-guide/puppet/profiles/nomachine/license.rst new file mode 100644 index 00000000..39000a1a --- /dev/null +++ b/admin-guide/puppet/profiles/nomachine/license.rst @@ -0,0 +1,45 @@ +``profile::nomachine::license`` +=============================== + +This is a sub-class for ``profile::nomachine``. + +Installs and configures NoMachine server and node licenses to a specific directory (default ``/etc/NX``). +When licenses are updated, it triggers the activation of the new NoMachine licenses and it deploys them in ``/usr/NX/etc``. + +Dependencies +------------ + +This is part of the ``profile::nomachine``. + +Parameters +---------- + +=========================== ========== ================================================================================================ +**Name** **Type** **Default** +--------------------------- ---------- ------------------------------------------------------------------------------------------------ +$nomachine_license_location String ``hiera('nomachine::license::location', '/etc/NX')``. Defaults to ``/etc/NX`` +$nomachine_license_server String ``hiera("nomachine::license::server::$hostname")``. Must be defined and encrypyed with ``eyaml`` +$nomachine_license_node String ``hiera("nomachine::license::node::$hostname")``. Must be defined and encrypyed with ``eyaml`` +=========================== ========== ================================================================================================ + +``nomachine_license_location`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Defaults to ``/etc/NX``. Will be a temporary location for ``node.lic`` and ``server.lic``. **You must avoid to setup ``/usr/NX/etc``** +as the ``nomachine_license_location``. Can be defined in Hiera as ``nomachine::license::location``. + +``nomachine_license_server`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +``eyaml`` encrypted ``server.lic``. Must be defined in hiera as ``nomachine::license::server::$hostname``, where ``$hostname`` is the +host shortname of the NoMachine server (equivalent to run ``hostname -s`` from command line). + +For more information about encryption with ``eyaml``, please refer to http://linux-infra.gitpages.psi.ch/admin-guide/puppet/hiera.html#secret-values + +``nomachine_license_node`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +``eyaml`` encrypted ``node.lic``. Must be defined in hiera as ``nomachine::license::node::$hostname``, where ``$hostname`` is the +host shortname of the NoMachine server (equivalent to run ``hostname -s`` from command line). + +For more information about encryption with ``eyaml``, please refer to http://linux-infra.gitpages.psi.ch/admin-guide/puppet/hiera.html#secret-values diff --git a/admin-guide/puppet/profiles/nomachine/repository.rst b/admin-guide/puppet/profiles/nomachine/repository.rst new file mode 100644 index 00000000..5d0e6daa --- /dev/null +++ b/admin-guide/puppet/profiles/nomachine/repository.rst @@ -0,0 +1,20 @@ +``profile::nomachine::repository`` +================================== + +This is a sub-class for ``profile::nomachine``. + +This class just installs and configures a NoMachine repository. Is a very basic class with +no configurable options. + +Dependencies +------------ + +This is part of the ``profile::nomachine``. + +Parameters +---------- + +================== =========================================== ============================= +**Name** **Type** **Default** +------------------ ------------------------------------------- ----------------------------- +================== =========================================== ============================= diff --git a/admin-guide/puppet/profiles/nomachine/service.rst b/admin-guide/puppet/profiles/nomachine/service.rst new file mode 100644 index 00000000..630213c5 --- /dev/null +++ b/admin-guide/puppet/profiles/nomachine/service.rst @@ -0,0 +1,20 @@ +``profile::nomachine::service`` +=============================== + +This is a sub-class for ``profile::nomachine``. + +This class just installs and configures a NoMachine service. Is a very basic class with +no configurable options. + +Dependencies +------------ + +This is part of the ``profile::nomachine``. + +Parameters +---------- + +================== =========================================== ============================= +**Name** **Type** **Default** +------------------ ------------------------------------------- ----------------------------- +================== =========================================== ============================= diff --git a/admin-guide/puppet/profiles/nomachine/terminal.rst b/admin-guide/puppet/profiles/nomachine/terminal.rst new file mode 100644 index 00000000..5feed416 --- /dev/null +++ b/admin-guide/puppet/profiles/nomachine/terminal.rst @@ -0,0 +1,56 @@ +``profile::nomachine::terminal`` +================================ + +This is a sub-class for ``profile::nomachine``. + +Installs and configures NoMachine with profile type ``terminal``. + +Dependencies +------------ + +This is part of the ``profile::nomachine``. + +Parameters +---------- + +==================================== ========= =========================================================================================================================================================================================== +**Name** **Type** **Default** +------------------------------------ --------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- +$nomachine_version String ``hiera('nomachine::terminal::version')``. This is mandatory. See ``common.yaml`` for default value. +$server_EnableUPnP String ``hiera('nomachine::terminal::server::EnableUPnP', 'none')`` +$server_ConnectionsLimit Integer ``hiera('nomachine::terminal::server::ConnectionsLimit', 200)`` +$server_ConnectionsUserLimit Integer ``hiera('nomachine::terminal::server::ConnectionsUserLimit', 2)`` +$server_DisconnectedSessionExpiry Integer ``hiera('nomachine::terminal::server::DisconnectedSessionExpiry', 0)`` +$server_VirtualDesktopMode Integer ``hiera('nomachine::terminal::server::VirtualDesktopMode', 0)`` +$server_VirtualDesktopsLimit Integer ``hiera('nomachine::terminal::server::VirtualDesktopsLimit', 300)`` +$server_VirtualDesktopsUserLimit Integer ``hiera('nomachine::terminal::server::VirtualDesktopsUserLimit', 2)`` +$server_SSHAuthorizedKeys String ``hiera('nomachine::terminal::server::SSHAuthorizedKeys', 'authorized_keys')`` +$server_PhysicalDesktopAuthorization Integer ``hiera('nomachine::terminal::server::PhysicalDesktopAuthorization', 1)`` +$server_PhysicalDesktopMode Integer ``hiera('nomachine::terminal::server::PhysicalDesktopMode', 2)`` +$server_PhysicalDesktopSharing Integer ``hiera('nomachine::terminal::server::PhysicalDesktopSharing', 0)`` +$server_EnableNetworkBroadcast Integer ``hiera('nomachine::terminal::server::EnableNetworkBroadcast', 0)`` +$server_AvailableSessionTypes String ``hiera('nomachine::terminal::server::AvailableSessionTypes', 'unix-remote,unix-console,unix-default,unix-application,physical-desktop,shadow,unix-xsession-default,unix-gnome,unix-xdm')`` +$node_DefaultDesktopCommand String ``hiera('nomachine::terminal::node::DefaultDesktopCommand', '"/etc/X11/xinit/Xsession \'gnome-session --session=gnome\'"')`` +$node_AvailableSessionTypes String ``hiera('nomachine::terminal::node::AvailableSessionTypes', 'unix-remote,unix-console,unix-default,unix-application,physical-desktop,shadow,unix-xsession-default,unix-gnome,unix-xdm')`` +$node_EnableSmartcardSharing Integer ``hiera('nomachine::terminal::node::EnableSmartcardSharing', 1)`` +$node_AudioInterface String ``hiera('nomachine::terminal::node::AudioInterface', 'disabled')`` +$node_EnableCUPSSupport Integer ``hiera('nomachine::terminal::node::EnableCUPSSupport', 1)`` +$node_ClientConnectionMethods String ``hiera('nomachine::terminal::node::ClientConnectionMethods', 'NX,SSH')`` +$node_DisplayServerThreads String ``hiera('nomachine::terminal::node::DisplayServerThreads', 'auto')`` +$node_DisplayEncoderThreads String ``hiera('nomachine::terminal::node::DisplayEncoderThreads', 'auto')`` +==================================== ========= =========================================================================================================================================================================================== + +``nomachine_version`` +~~~~~~~~~~~~~~~~~~~~~ + +This parameters must be defined. Please see ``common.yaml`` for checking the default value. + +``server_*`` +~~~~~~~~~~~~ + +``$server_*`` paremeters are customizable settings for the NoMachine ``server.cfg`` configuration file. Please refer to NoMachine official documentation for more information. + +``node_*`` +~~~~~~~~~~ + +``$node_*`` paremeters are customizable settings for the NoMachine ``node.cfg`` configuration file. Please refer to NoMachine official documentation for more information. diff --git a/admin-guide/puppet/profiles/nomachine/workstation.rst b/admin-guide/puppet/profiles/nomachine/workstation.rst new file mode 100644 index 00000000..6e876c1a --- /dev/null +++ b/admin-guide/puppet/profiles/nomachine/workstation.rst @@ -0,0 +1,56 @@ +``profile::nomachine::workstation`` +=================================== + +This is a sub-class for ``profile::nomachine``. + +Installs and configures NoMachine with profile type ``workstation``. + +Dependencies +------------ + +This is part of the ``profile::nomachine``. + +Parameters +---------- + +==================================== ========= =============================================================================================================================== +**Name** **Type** **Default** +------------------------------------ --------- ------------------------------------------------------------------------------------------------------------------------------- +$nomachine_version String ``hiera('nomachine::workstation::version')`` +$server_EnableUPnP String ``hiera('nomachine::workstation::server::EnableUPnP', 'NX')`` +$server_ConnectionsLimit Integer ``hiera('nomachine::workstation::server::ConnectionsLimit', 20)`` +$server_ConnectionsUserLimit Integer ``hiera('nomachine::workstation::server::ConnectionsUserLimit', 20)`` +$server_VirtualDesktopMode Integer ``hiera('nomachine::workstation::server::VirtualDesktopMode', 2)`` +$server_VirtualDesktopsLimit Integer ``hiera('nomachine::workstation::server::VirtualDesktopsLimit', 20)`` +$server_VirtualDesktopsUserLimit Integer ``hiera('nomachine::workstation::server::VirtualDesktopsUserLimit', 20)`` +$server_SSHAuthorizedKeys String ``hiera('nomachine::workstation::server::SSHAuthorizedKeys', 'authorized_keys')`` +$server_PhysicalDesktopAuthorization Integer ``hiera('nomachine::workstation::server::PhysicalDesktopAuthorization', 0)`` +$server_PhysicalDesktopMode Integer ``hiera('nomachine::workstation::server::PhysicalDesktopMode', 1)`` +$server_PhysicalDesktopSharing Integer ``hiera('nomachine::workstation::server::PhysicalDesktopSharing', 2)`` +$server_EnableNetworkBroadcast Integer ``hiera('nomachine::workstation::server::EnableNetworkBroadcast', 1)`` +$server_AvailableSessionTypes String ``hiera('nomachine::workstation::server::AvailableSessionTypes', 'shadow,unix-xsession-default')`` +$node_DefaultDesktopCommand String ``hiera('nomachine::workstation::node::DefaultDesktopCommand', '"/etc/X11/xinit/Xsession \'gnome-session --session=gnome\'"')`` +$node_AvailableSessionTypes String ``hiera('nomachine::workstation::node::AvailableSessionTypes', 'shadow,unix-xsession-default')`` +$node_EnableSmartcardSharing Integer ``hiera('nomachine::workstation::node::EnableSmartcardSharing', 1)`` +$node_AudioInterface String ``hiera('nomachine::workstation::node::AudioInterface', 'disabled')`` +$node_EnableCUPSSupport Integer ``hiera('nomachine::workstation::node::EnableCUPSSupport', 1)`` +$node_ClientConnectionMethods String ``hiera('nomachine::workstation::node::ClientConnectionMethods', 'NX,SSH')`` +$node_DisplayServerThreads String ``hiera('nomachine::workstation::node::DisplayServerThreads', 'auto')`` +$node_DisplayEncoderThreads String ``hiera('nomachine::workstation::node::DisplayEncoderThreads', 'auto')`` +==================================== ========= =============================================================================================================================== + +``nomachine_version`` +~~~~~~~~~~~~~~~~~~~~~ + +This parameters must be defined. Please see ``common.yaml`` for checking the default value. + + +``server_*`` +~~~~~~~~~~~~ + +``$server_*`` paremeters are customizable settings for the NoMachine ``server.cfg`` configuration file. Please refer to NoMachine official documentation for more information. + +``node_*`` +~~~~~~~~~~ + +``$node_*`` paremeters are customizable settings for the NoMachine ``node.cfg`` configuration file. Please refer to NoMachine official documentation for more information. diff --git a/admin-guide/puppet/profiles/ntp_client.rst b/admin-guide/puppet/profiles/ntp_client.rst new file mode 100644 index 00000000..32d07702 --- /dev/null +++ b/admin-guide/puppet/profiles/ntp_client.rst @@ -0,0 +1,32 @@ +``profile::ntp_client`` +======================= + +This module configures the NTP client to synchronize the local system time with +a number of time servers. Queries by other systems are disabled for security +reasons. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +servers hash hiera_hash('ntp_client::servers') +=============================== ======== ================================================ + + +``servers`` +~~~~~~~~~~~ + +A hash containing the list of NTP servers for each :doc:`network zone +<../profiles/networking>`, eg.:: + + ntp_client::servers: + 'default': + - 'pstime1.psi.ch' + - 'pstime2.psi.ch' + - 'pstime3.psi.ch' + 'dmz': + - 'dmztime1.psi.ch' + - 'dmztime2.psi.ch' diff --git a/admin-guide/puppet/profiles/nvidia.rst b/admin-guide/puppet/profiles/nvidia.rst new file mode 100644 index 00000000..0a2abce2 --- /dev/null +++ b/admin-guide/puppet/profiles/nvidia.rst @@ -0,0 +1,40 @@ +``profile::nvidia`` +=================== + +The purpose of this module is to install the NVIDIA drivers. If NVIDIA GPU cards are +detected with the facter ``pci_devices.gpu.nvidia``, automatically the ``profile::nvidia`` +class will be called. The ``class profile::platform`` is responsible for calling this profile:: + + if ( $facts['pci_devices']['gpu']['nvidia'].size > 0 ) { + class { 'profile::nvidia':; } + } + +Current profile only installs drivers using the CUDA installation. Other NVIDIA installations +(i.e. just NVIDIA drivers for Desktops without CUDA) are still not implemented. + +To enable CUDA installation ``nvidia::cuda::enable`` must be set to ``true`` (default +is ``false``). When this setting is set to ``false`` (default), NVIDIA installation without +CUDA should be performed (as already specified, this is not implemented yet) + +Parameters +---------- + +================= ========== =========== +**Name** **Type** **Default** +----------------- ---------- ----------- +cuda_version string 8-0 +cuda_enable bool false +================= ========== =========== + + +``cuda_version`` +~~~~~~~~~~~~~~~~ + +By default ``8-0`` is the version for the CUDA metapackage. To make installation possible, +``cuda_enable`` must be also set up. + +``cuda_enable`` +~~~~~~~~~~~~~~~ + +By default is ``false``. Set to ``true`` if you want to install CUDA and NVIDIA drivers from +the CUDA repositories. diff --git a/admin-guide/puppet/profiles/platform.rst b/admin-guide/puppet/profiles/platform.rst new file mode 100644 index 00000000..833f7c40 --- /dev/null +++ b/admin-guide/puppet/profiles/platform.rst @@ -0,0 +1,47 @@ +``profile::platform`` +===================== + +The purpose of this ``profile`` is to install specific components depending on the hardware components +and hardware/platform type. + +Currently, for ``vmware`` machines no actions are performed. For ``physical`` machines some actions will +be performed depending on the parameter settings (see below). + +Also, according to the facter ``manufacturer``, some specific actions can be triggered. Currently only +``HP``/``HPE`` hardware is considered. + +Other options such like NVIDIA or Infiniband card detection are possible. Whenever detected, it will call +the corresponding class and will perform required actions. + +Parameters +---------- + +================= ========== =========== +**Name** **Type** **Default** +----------------- ---------- ----------- +enable_rasdaemon bool +enable_smartd bool +================= ========== =========== + +``enable_rasdaemon`` +~~~~~~~~~~~~~~~~~~~~ + +When set to ``true``, will install and enable the ``rasdaemon`` service. + +``enable_smartd`` +~~~~~~~~~~~~~~~~~ + +When set to ``true``, will install and enable the ``smartmontools`` (``smartd``) service. + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +===================================== =============== ============================================== +**Fact** **Value(s)** **Action description** +------------------------------------- --------------- ---------------------------------------------- +``manufacturer`` ``HP``|``HPE`` ``include profile::platform::hewlett_packard`` +``['pci_devices']['gpu']['nvidia']`` count > 0 ``include profile::nvidia`` +``['pci_devices']['ib']['mellanox']`` count > 0 ``include profile::infiniband`` +===================================== =============== ============================================== diff --git a/admin-guide/puppet/profiles/platform/hewlett_packard.rst b/admin-guide/puppet/profiles/platform/hewlett_packard.rst new file mode 100644 index 00000000..af4215be --- /dev/null +++ b/admin-guide/puppet/profiles/platform/hewlett_packard.rst @@ -0,0 +1,24 @@ +``profile::platform::hewlett_packard`` +====================================== + +When ``profile::platform::hewlett_packard`` is called (usually from the ``profile::platform`` through +the facter ``manufacturer``, by auto-detecting an HP platform) some actions will be triggered. + +Parameters +---------- + +================= ========== =========== +**Name** **Type** **Default** +----------------- ---------- ----------- +================= ========== =========== + +Facts +----- + +When some specific facts are detected, it will trigger some actions. + +==================================== ================= ======================================================= +**Fact** **Value(s)** **Action description** +------------------------------------ ----------------- ------------------------------------------------------- +``productname`` ``/^ProLiant.*/`` Install ``hpssacli`` for HP Array Management/Monitoring +==================================== ================= ======================================================= diff --git a/admin-guide/puppet/profiles/pmodules.rst b/admin-guide/puppet/profiles/pmodules.rst new file mode 100644 index 00000000..0cfdaafb --- /dev/null +++ b/admin-guide/puppet/profiles/pmodules.rst @@ -0,0 +1,54 @@ +``profile::pmodules`` +===================== + +This module manages the `AIT Pmodules +`_. + +It automatically enables Pmodules for all users with + +1. a UID >= 1000 +2. a username **not** ending in ``-adm`` + +This makes sure that local service accounts, root, and administrator accounts do +not use Pmodules automatically. + + +Parameters +---------- + +================== ======== ============================== +**Name** **Type** **Default** +------------------ -------- ------------------------------ +basedir string hiera('pmodules::basedir') +================== ======== ============================== + + +``basedir`` +~~~~~~~~~~~ + +The subdirectory of ``/afs/psi.ch/sys/`` where the modules can be found, e.g. +``psi.x86_64_slp6`` or ``psi.ra``. + + +Examples +-------- + +This profile is included in the base role, but disabled. To enable Pmodules +simply pass ``enable_pmodules => true`` when including the base role:: + + class role::some_role () { + class {'role::base': + enable_pmodules => true, + ... + } + ... + +To customize the base directory, include ``pmodules`` separately:: + + class role::some_role () { + include role::base + + class {'profile::pmodules': + basedir => 'psi.ra', + } + ... diff --git a/admin-guide/puppet/profiles/print_client.rst b/admin-guide/puppet/profiles/print_client.rst new file mode 100644 index 00000000..adf3d465 --- /dev/null +++ b/admin-guide/puppet/profiles/print_client.rst @@ -0,0 +1,29 @@ +``profile::print_client`` +========================= + +This module configures printing to the PSI print server. + +Currently, CUPS is used. + + +Parameters +---------- + +=============================== ======== ======================================= +**Name** **Type** **Default** +------------------------------- -------- --------------------------------------- +default_printer string hiera('print_client::default_printer') +print_server string hiera('print_client::server') +=============================== ======== ======================================= + + +``default_printer`` +~~~~~~~~~~~~~~~~~~~ + +The default printer to be configured in the PRINTER environment variable. + + +``print_server`` +~~~~~~~~~~~~~~~~ + +The FQDN of the CUPS print server to use. diff --git a/admin-guide/puppet/profiles/puppet_client.rst b/admin-guide/puppet/profiles/puppet_client.rst new file mode 100644 index 00000000..6bd504c6 --- /dev/null +++ b/admin-guide/puppet/profiles/puppet_client.rst @@ -0,0 +1,23 @@ +``profile::puppet_client`` +========================== + + +Parameters +---------- + +========== ========= ========================= +**Name** **Type** **Default** +---------- --------- ------------------------- +exec_time string ``05:00:00 -- 08:00:00`` +========== ========= ========================= + + +``exec_time`` +~~~~~~~~~~~~~ + +Defines a time window during which Puppet will run every day. The exact time +depends on the FQDN of the system (see below), ensuring that on each system the +timing is consistent and predictable, but across a group of systems using the +same time window the exact times are distributed uniformly. + +The syntax is ``HH:MM:SS -- HH:MM:SS``. diff --git a/admin-guide/puppet/profiles/serial_console.rst b/admin-guide/puppet/profiles/serial_console.rst new file mode 100644 index 00000000..01f7221d --- /dev/null +++ b/admin-guide/puppet/profiles/serial_console.rst @@ -0,0 +1,27 @@ +``profile::serial_console`` +=========================== + +Configures the serial console on physical systems. + + +Parameters +---------- + +========= ========= ============ +**Name** **Type** **Default** +--------- --------- ------------ +device string ``ttyS0`` +rate integer 115200 +========= ========= ============ + + +``device`` +~~~~~~~~~~ + +The device to configure as a console. + + +``rate`` +~~~~~~~~ + +The rate to use for the serial console. diff --git a/admin-guide/puppet/profiles/ssh_client.rst b/admin-guide/puppet/profiles/ssh_client.rst new file mode 100644 index 00000000..ce1a4ff7 --- /dev/null +++ b/admin-guide/puppet/profiles/ssh_client.rst @@ -0,0 +1,38 @@ +``profile::ssh_client`` +======================= + +This profile configures '/etc/ssh/ssh_known_hosts' :manpage:`sshd(8)`. +PSI CA key is added to the 'ssh_known_hosts', in this manner we allow +PSI servers to SSH to this host. + + +Parameters +---------- + +====================== ======== ============================================= +**Name** **Type** **Default** +---------------------- -------- --------------------------------------------- +allowed_hosts string '\*.psi.ch' +canonicalize_hostname bool false +forward_x11 bool +====================== ======== ============================================= + + +``allowed_hosts`` +~~~~~~~~~~~~~~~~~ + +A string specifying which hosts are allowed to SSH to this machine. By default, +all PSI hosts will be able to connect. + + +``canonicalize_hostname`` +~~~~~~~~~~~~~~~~~~~~~~~~~ + +Determines whether or not hostnames are canonicalized for ``psi.ch``. See +:manpage:`ssh_config(5)` for details. + + +``foward_x11`` +~~~~~~~~~~~~~~ + +Determines whether ``ForwardX11`` and ``ForwardX11Trusted`` should be enabled. diff --git a/admin-guide/puppet/profiles/ssh_server.rst b/admin-guide/puppet/profiles/ssh_server.rst new file mode 100644 index 00000000..6c229cad --- /dev/null +++ b/admin-guide/puppet/profiles/ssh_server.rst @@ -0,0 +1,42 @@ +``profile::ssh_server`` +======================= + +This profile configures :manpage:`sshd(8)`. + + +Parameters +---------- + +==================== ======== ============================================= +**Name** **Type** **Default** +-------------------- -------- --------------------------------------------- +enable_gssapi bool hiera('ssh_server::enable_gssapi') +permit_root_login string hiera('ssh_server::permit_root_login') +trusted_user_ca_keys list hiera('ssh_server::trusted_user_ca_keys', []) +user_ca_keys hash hiera('ssh_server::user_ca_keys', {}) +==================== ======== ============================================= + + +``enable_gssapi`` +~~~~~~~~~~~~~~~~~ + +A boolean determining whether GSSAPI authentication is enabled or not. + + +``permit_root_login`` +~~~~~~~~~~~~~~~~~~~~~ + +Sets ``PermitRootLogin`` in the sshd configuration file. + + +``trusted_user_ca_keys`` +~~~~~~~~~~~~~~~~~~~~~~~~ + +An array containing the user CA keys that will be accepted (as understood by the +``TrustedUserCAKeys`` directive in :manpage:`sshd_config(5)`). + + +``user_ca_keys`` +~~~~~~~~~~~~~~~~ + +A hash containing the actual keys to be referenced by `trusted_user_ca_keys`_. diff --git a/admin-guide/puppet/profiles/sysinfo.rst b/admin-guide/puppet/profiles/sysinfo.rst new file mode 100644 index 00000000..ea326703 --- /dev/null +++ b/admin-guide/puppet/profiles/sysinfo.rst @@ -0,0 +1,10 @@ +``profile::sysinfo`` +==================== + +Stores certain information about the system in ``/etc/sysconfig/pli-info`` for +the use of other programs and scripts. Currently, the following values are +stored: + +- ``SYSDB_ENV``: the system's sysdb environment +- ``PUPPET_GROUP``: the system's ``puppet_group`` value from sysdb +- ``PUPPET_ROLE``: the system's ``puppet_role`` value from sysdb diff --git a/admin-guide/puppet/profiles/telegraf.rst b/admin-guide/puppet/profiles/telegraf.rst new file mode 100644 index 00000000..109c517e --- /dev/null +++ b/admin-guide/puppet/profiles/telegraf.rst @@ -0,0 +1,58 @@ +``profile::telegraf`` +===================== + +This profile configures the `telegraf +`_ metrics collection +agent. + + +Parameters +---------- + +=============================== ======== ================================================ +**Name** **Type** **Default** +------------------------------- -------- ------------------------------------------------ +enable_service bool +agent hash hiera_hash('telegraf::agent') +metrics hash lookup('telegraf::metrics', {merge => 'deep'}) +=============================== ======== ================================================ + + +``enable_service`` +~~~~~~~~~~~~~~~~~~ + +Determines whether or not Puppet will start or stop the service. + + +``agent`` +~~~~~~~~~ + +This hash can be used to set the following configuration options in +``/etc/telegraf/telegraf.conf``: + + - ``metric_buffer_limit`` + - ``collection_jitter`` + - ``flush_interval`` + - ``flush_jitter`` + - ``urls`` + + +``metrics`` +~~~~~~~~~~~ + +This hash defines the metrics which the telegraf agent will collect. The keys +are the names of the metrics and the values are hashes describing the metric. +Every key/value pair in these hashes will be added to the configuration files +directly without any checks. + +Examples:: + + 'cpu': + enable: true + 'disk': + enable: true + interval: '30m' + ignore_fs: + - 'aufs' + - 'auristorfs' + - 'devfs' diff --git a/admin-guide/puppet/profiles/web_server.rst b/admin-guide/puppet/profiles/web_server.rst new file mode 100644 index 00000000..ec10e68a --- /dev/null +++ b/admin-guide/puppet/profiles/web_server.rst @@ -0,0 +1,49 @@ +``profile::web_server`` +======================= + +Install and configure Apache to make local files available through HTTP/HTTPS. + + +Parameters +---------- + +========== ========= ============ +**Name** **Type** **Default** +---------- --------- ------------ +tls_cert string +tls_chain string +tls_key string +vhost string +url_map hash +========== ========= ============ + +``tls_cert`` +~~~~~~~~~~~~ + +The TLS certificate (PEM). + + +``tls_chain`` +~~~~~~~~~~~~~ + +The TLS certificate chain, ie. the intermediate certificate concatenated with +the host's certificate. + + +``tls_key`` +~~~~~~~~~~~ + +The TLS key (PEM). **Must be encrypted**! + + +``vhost`` +~~~~~~~~~ + +The name of the Apache virtual host, eg. ``linux.web.psi.ch``. + + +``url_map`` +~~~~~~~~~~~ + +A hash describing the mapping between URLs and files. The keys are the URLs +relative to the `vhost`_, the values are the corresponding paths. diff --git a/admin-guide/puppet/profiles/yum_client.rst b/admin-guide/puppet/profiles/yum_client.rst new file mode 100644 index 00000000..a0b803b5 --- /dev/null +++ b/admin-guide/puppet/profiles/yum_client.rst @@ -0,0 +1,55 @@ +``profile::yum_client`` +======================= + +This module configures :manpage:`yum(8)`. + + +Parameters +---------- + +=============================== ======== ============================================= +**Name** **Type** **Default** +------------------------------- -------- --------------------------------------------- +exclude list hiera('yum_client::exclude', []) +package_groups list hiera_array('yum_client::package_groups', []) +purge_repositories bool hiera('yum_client::purge_repositories') +repos list hiera_array('yum_client::repositories') +=============================== ======== ============================================= + + +``exclude`` +~~~~~~~~~~~ + +An array containing entries suitable for the ``exclude`` option in +:manpage:`yum.conf(5)`. + + +``package_group`` +~~~~~~~~~~~~~~~~~ + +A list containing the names of the package groups to be installed on the +systems. The package groups have to be defined through `pkg_group::$NAME`_ and +are completely independent of Yum (environment) groups. + + +``pkg_group::$NAME`` +~~~~~~~~~~~~~~~~~~~~ + +The list of packages that comprise the package group ``$NAME``. + + +``purge_repositories`` +~~~~~~~~~~~~~~~~~~~~~~ + +A boolean controlling whether files that were not created by Puppet should be +removed from ``/etc/yum.repos.d``. This is useful to prevent repositories to be +configured through other means (e.g. manually). + + +``repos`` +~~~~~~~~~ + +A list of names designating the repositories that are to be configured (not +necessarily enabled) on the system. If ```` is the name of the repository, +then its definition is determined by searching Hiera for the +``yum_client::repo_`` key. diff --git a/admin-guide/puppet/puppet-master.rst b/admin-guide/puppet/puppet-master.rst new file mode 100644 index 00000000..05363b05 --- /dev/null +++ b/admin-guide/puppet/puppet-master.rst @@ -0,0 +1,37 @@ +Puppet Master +============= + +Installation +------------ + +Installation of a puppet master is in some way more difficult than all +the other system, since no pre-existant infrastructure is supposed to +be present. It comes natural that the Puppet master is the first +server to be deployed in the current infrastructure. + +This `Git repository `_ +contains the code to deploy a new puppet master. + +The procedure to install it are the following steps: + +1. install the server, using ``puppet master`` as profile. See `this `_ for more informations; + +2. after the server reboot, you are be able to login with your `authorized ssh key `_; + +3. copy the ssh root key to the right location with the right + permissions, so that the server is able to authenticate itself + against the git repository: :: + + PUPPETMMASTER=puppetmaster.psi.ch + scp ssh_rsa_key* root@$PUPPETMASTER:/root/.ssh + ssh root@$PUPPETMASTER + chmod 400 /etc/ssh/ssh_rsa_key + chmod 444 /etc/ssh/ssh_rsa_key.pub + +4. You can now deploy the puppet server with the following code: :: + + git clone https://git.psi.ch/linux-infra/bootstrap + cd bootstrap/instcode + ./puppetmaster.sh + + diff --git a/admin-guide/puppet/puppet_workflow.jpg b/admin-guide/puppet/puppet_workflow.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b5c31a228b2e2d9796436d570cb81ae7bf6295b1 GIT binary patch literal 37498 zcmeEu2UJvDmTnOQ$sm+~5+#Eok|Y;7ibyOnk|Za|$pVyMk)skM=ZxeaC>arujN~9W z=Tua^Yj;n#{@p$Ech8$O)AJs#>$=q6OM{4ebwqpg;Ygp<`fP!@|CfgNp|gs3r!XqhVm6V`5yphKUK3_65EN zVUk?CLH|Gki&WJZ`;HSCw|{iTbq2|bPhhpdJw_gr=K(mlH_0g|Z!s~mu(Gl9^6@_u z5EPPf(A0uz>*$)AnLo3zw6b<~admU|@br55DljNGVTi@6}I6OK& zIXyeS_|Y#k5XK+71^oZVj{T-zBtXB=F)=YPv48Xn4c#5MFi0@3(LcbtA)$(G>_mEp z+y6S5WOPQwCmaSIwLP%O^FiF3jJyj>`#-w&ho1eujs^TvJ^ORV{?e~W5IzPPFnJgx zAPDI6f;H0*_rL4fzaM7!aK!G|cwt6pQOVLY+;Dlxu6S!YuzM9`x|wt`dH!Z`7ZF#Y zay0=vQX8Xq%|}24Wy!hqHqF!UGYS;lUddDO%;bw#%yTQ&%%;Q5061&9u?*Q0w14z6 z7-(yuvi8Cbxx3BSkYK>Qs0r6*H2L(9%HBwlCsk;i0O|reCzybZe}P>P7rshzm*rcR z%y~#zl(nVEn)yL}UK03a^nZn`+5D^#1!Ce*M}gdEugI#8Mtyqs-I0n~dB`ou1)EJ8 zc#o!E4!L(lyAp8+&RUAG(fT*KMWBo!ooqCsT&ymKD@QuOJA^Lnl-^4PQdlZ4;oU2V z@0(3Z5TmcG3piQbYW&RWK$@DIC9*9@%e7eOp}2Be*_A0)D_Jp0b`h_xQ&J)FjmIZp zBB?H~H4&Y{$!SYsyxuR#=Q!$kxx@pmQQBvgL)^ACcGZ*s6{d5Cs+S8^SZEIkK&r+_$YK6O@EX3u?qOHhY z+U+#TzD2$A6(%eFOVgE^FwN(kCtR+Z0tICaGbP_I=Bh7Kd~0823c1F2W|in#4R7Ez z_v5HeG^|=$uyeuX=hI5uylR5;rZ;FHf#LD5_z!it`}dvDzpq-Vrlh{5e$0{FbPEdS zow>PUU_Gu9tMXonqs|_DYA5NqKTmy*oktbfS$#~PBsF%w$;#oXf}p{gd$KxZ2#a-@ z`>`W8w(U~bN|M6;%}VC10ycx%Q@dTcUIWp`5B2s?pc8|fcUL7x&jHOz; zp?y!$3%Qr7dR?Ey*f3u%%&12yK_Nr2Na8Xw6zFSXA#9!j1qyUL=&d+@G5hB5ep72^ zEo=dIU*!s~ArFZTIa5V}u0!FlHG@&e9tjH6`sQvUc5M!#cb6-_WbRC|3D~xhI|V3^ zUnG(Y)(T!syC8Q}L14o6vJwnlP7NW=Pv2^2?IP$6*?`G#*Fb?j0<(h)`Q;~iIX`W$ z!?-WMuyeTore(ByfgX9tz!~6Y&}b2?%Ws~Z9JM6+u7JUS(D*Z{9Ef5uaGy7z;+Iz~sq zi0z3Vd!WV>F0h6p=m;$P>p(s6Az$>&;Z@8VYo9yBq~7dy4`c z(d+&?`y4fAzI(OWX$I9J)kSje-&aQ|GQ0_nkNZyWL3}_T1-dBY{XSD{Y6O;j_mG9@ zH1$e`44Uu5r7A-P`rmLt@%Ggf_iyH9ScNYHxs2EzgBxxz1hN*9r5|s`NG_%99QCc7jQfL}B+|=G+ zI`Q!B%Wv0QH2znN((jyUwEj(_{d@b&k;Q~};v?RiLa?HzrY$-Z zJn*(-P~*?kxpS$0{gtPznQ0`C8+W$vq+M{>k*|{cFrPeAl%DmCw^^Kxk8Bw{uRE&r z`rm%>F2aULa<4NlM?e0Je7VnzzQRez$ns2$0=54^(}#LAzfN!0e8_^~%vGAWzde1# z_3apHEhd&5LX%DC^8I2bwAcdOcvrLHLcWmpy$$l4`Mg(>*YBg*C?#g13w|`1HV);~ zxbZNspW}J`3^VPGc9%<~_Th!m8lIj4rahfpJSpQc;(%iP7rVYO zMNmvC7^sq&Cq{rSl2-2{JTtUoiX2ZL3+t8cj?BNPcFYq*uz!D?ZM-i`eGmMpcVFxa z?TpnhAZ_egQJ`=@E#b-1UR+Z^fndRBT65}Uh+HGREJRnjsv+!`?*NtfQ%TihArz?h z9BK3b&JC794Y(jyMH^U%DxUonSh-feCmxm2k6zI(XQOO|E^ebx_1kmPL zL|5q9C{Rlq0$9yIKV7_oEhAq3t2Ojh=%R15@v7DMby3wen26SF+LAJ!>eJUA^ie1f z=90zc@Nq%HtzuUvP64>up!^zZI>JBD}p>6N4t zxaY8rG!nj+8`iN3)Y}~;ekOD^L6Uy=O(rh8HqW#)*$ZvdYp?mIaw^Mwm+!C>TMyrO2_=vK_9D41lJcUbS>aZohj%6|Q&) zOnmLxAW#4&&;7BSDJ_v$=9kx2lLx+ zeJXNaT++O}xVq*Me|+4T<9%;tByc7Eeb)t%^>(YVZ_!FZ7YzsL)|Ln)X!!Azq)ToXSJaayq1Zr%Uo zM7=q`Z7=@I(3*mk%knPo`K`|jky@5#gs@qIG872Crq32qRJr9ZPcxRM0S zYN<7Jz^o=LS|~%r8IU6z)2=YbM~)A=+KkRw8}47ZLx6V*HXHHwDwiwgmb!+I0k;NJ zVex;GqM%XPC(^X(bKhd0tFHn*b$`ySazN`}DpqWyU%hJHn!&0E`=@BgU zEv~6)+_Blp`hchrNU_K<7^zwrZtiIiM}e$rl>Gg}Gb+2*4QTQ>&R~yFpw}Wn^!KjX zpFc|Tz+vf|3I;R8f)Ew@V|Hry?2_CZb`I@110oT+ zh$<+wVCIwW!cYdideQ1$|Ql)dCsE(^V@O@(brc{+U^=}~4~MoLYnTWg?V zdQHq)%NPGXx!&gs%I0dxQ!m?4U-UAq2M67dS;_Su>o(LTq;%V)-oHKSOMv{ei#Y=w zQuCg3Gbvy{!Y?K43Ew!HzJd)mBKA!u(AAOOk`{#t;lFY8;OcfE{O_Yco0BTQ>g;ko zVXi=d=#&8De-euVN$~B@I4#!74Vgjkkw*Ez#CH4sfV60%K71%pOlT&s^qoug97W@ z17`ON}`*gnu!dpz84suOFkCzS8L0D&Sk2$s7^NE}V}kgK7G2R!18Sxqs+A(d{@%ql*5- ze*T=gk1Dztt~ZWG^GYmKRbn1~c$unI-FrIO zcankrNhF_MYnmZ~FWlWLD&1@pmo+ytv-s7N{T9$zlfUJ8;YA3dKn(neD3B2Vu+}6$ zj5Tqzr5$juryU>DB42UL*mQq+A#g#HYqZBz>aGs#5sOfl509J(4&Dg?4w35K)~>Z# zlPh!Zpq535OV{Yp?M4A@rZ!e@Polj?*}QgVLIntpeo>6a@Qln2tKzj9FF3tQm2~M~ zYW`e%-Za(AqoSjqEg&={ZNQDhgaTc81CTI1>1?OD{a1-vDx$S^@hEs9t@jw{P(4xl zk8TN-1+^Tgx)@#Tz>Y|b)W>^i31Htd*IJIJfle_u=ap{VZyiV&fJM@(j0Tda8nA@? zR&M`yJ%b5W5uPe2kp9%U#^_(})%9L)`CJ0RemG6wpJ|%anKM$>fCt%}1>mhf?-CDa zFyy=WFl2KBa&;ZrFdqFD;dCVWsAc|#LP_z$7S2F{+H2cyb%uF_Ph0b6UA{u>Edr+WUQsUq}!aL4efYtU3X3Hstb>9Gh^9KM5e^vHz zH!`uIJ-}=Md<#|(U}mVtX*gVbnWgpymM?&L&=3ClLzPiOf7N%(k-yHS8~K7ouSH8& zWZn-ibZKn+-&)E4EuRG)B1Q55ab|}owEoL|K}q|Gm@nY&TpvjJXPWiLP09JYHYM;Y z{i5hKS*BP8xii}OrE8ofmS!}CA73IiA+6)XbC$%u6}3isH>(@O-ghcKxVZ6<=oz?D zf4c>MGY+l}Lvv6+1G)9pb}%DCks=a-77lXJ_{p{V{}!B)@RDXX4q4FhC zzkfynsL)j!KPY7JZ1x_rs3G{CSSl>ZnIS-4S$(8uOlwjKH7KxNwC(C9p7!A^M_o;`9x1BEU>3t((zpWv}gadCe^u_WuJR3 zx|oZ-$CIv`U=X_i@ZGEx^@u<@looA`cMRDsmHs3ng8%?@Rz4CUoz+3I%lz!;FA-;0F)4JxkSt@$^HDGbEG=Jx$xyO ziT39<{PJKiC@0bw%=6DQXEaoWY?D7GnEbt>aCVmmB<-l!i&c}k##B9K!y7BGq^(rj zb3Z(WZR)OP|1c668vr6~E&m>p z_`M)RJu7@U+B95An2J5Whq*y|kF&VD*zlVI<)r?1Z%1|}HLkNn)mJ%tS&5kqurmoh zqw`HG6v($01tOJ0&?S{2j;nwbJ_Vr2e1K4T+hVL<@kP}D^6OVwNMdCu(rXenX9r-C zL4c#;^2U7^VFF(VoP3z0u+@^htCKl|GVNY~b<5${F!Is?$s7r=GcPAJww%eJ0GPVY z3{0%39b~r#1zNNO7#dPd6ezVO?Q{yZ&-;U)qG`=DefuA^F$*Blo}Pe(sXD;J00)Ot zhyo4hsa$TioFzeiZU_xP;bE5-Osue$rv2LX-?rpOr$qxFcRi4CL4kg0{%-~g;QBso zvAYSv*^vd=1KE!%R2Vt?(vEE(KiG_75453VG%dfs7De&kONlQujnq&<5%?O zNg3HiD>c%K!~#};XIJ`4xB+tX*#tfIC{FGOe*|stPu~82Ijj!;F2)S#;RFDmHlRR?#~TNE!V-}r=#mIT@80wck%fM7d#Xe%>l6l6TAZO#A@-2d8ZvQ=nVIY%v-QGaSRSZx(iifW zYpXQ`*A9uu6&ratXjX>b*tq6in`nSVIEJwzHDcE<%aJ`j7pgxtE;XE{=k0r2RjA5M zEseE@dSb5j)K~E}wxpLj;=xifjKm|&UoCfoqMbj73%v}23bg&}fWiZ!XU zj(`}8e!0j#QS%u3vOct7y8^A9_E#C`$C;Uc8ZU5MYKz_R7*I?yral^X((l4^93YRT zm==|_#3&d;$mMvrUC$ZiY!`Fh3gVNEQP3Mym3W4@=G;&gK3`w`)xHVh71QBbDwQ{b z6%wTRv?Ds+&&(eC2?2Ef-b{1gK9BS`pF8n7i%RMsCt!p?ueAwr-Sy&J#zglTOGo&SXHOJ&vc$}3Fb3ms>HW4;hOY=F?AN?4 zHwLIn&PR4iY1qbBnj&OBa}%9g#kbB|WH3#$UY8jUDrMIh+18)e$=j-71?2_V{aD6D|-V=-qjH|EkFOr;no?<@WV|n-$TA$ zmbcM;m{EzOmpvb3_jh;TpqP0%ZfB)q z@NE;xwYM6(#L+@LV8@}KIjJLFWZ!t*l!sN#?`18uLKhj@X563f#P87zYfGMH+DmHv zUATqZ3b|vaFF%Ui38kZAIKI&6*ROcaPO=gsr?ZfTpBqn6UyoL%?JI5i)%zmtz)R>Q z##dGUHI9yylsVo=Ly{+2(nlH;Gy!2m66z+UDl!uOYpfrS$h0~C*;^gm)V%L2*NJw8 zc!(B$?7A%?3H>NWKNV&_t|qx&Js>WkCC7MdH3WHFI|$s3mjohjh!m^rYXczstH}>B z`B#RtN^mW#RW5hCbGNE1?5KaiFm!$(#Es^DedBO*m$PY+&P{Tyn9>DGt;q?ePoI`j zXquc1Wli_Hz8-UqK-$y5!U*8X5bsEr;?REN_XK7Jb?v2ruy{jq)oh4;(u3(ZMZ z430LhxQ0@H8|UZfGx=OIbV$mmxG3L;YzPjm`YEEb__JQsauJCFS-$JoSG)!lU$Bvq z4n@^}WRw55%H^@SU zVOtrbM7z1;;grrdzur;`OCqRy- zfBb#l-3KB!+Uaa;i31*dC0wEoC$$OQD%blq*<~H|m?bRhrf|hb>^KTk0v#ZV)*s|I zD=$w_3bi6tsIApB#;=$uh}ZU=nR_U>^I*1q`zFPXYa{D3@%^UH#d&poy0QAN!-i#Y zr#jrZ<30UNu)N~c9C3;-Z`V|`1gvZDNG`Od27|fd^rN|*8ia1k-*v?+s?ocxol!13 zQARI8e=m^xfoKb^T}OP%*C{2s;j9L7)^O_Vg#`H?6B@%y zME1knMOMI_%RSTJmUuVVq#=vZhlO4#z&&>?f&vM2JO`NImhYmFE3aDQtLk;|hA||_ zZ2^gqhWs`@zU!g&4DbcHm#3}BJg6>FPSiEJwh{69g<9;l8lsx@Ko=LNLj3@MB$Ye> zb3Bl*9dQqU!V+(XV69Iu>|@(57HJYMX?7sR(G;0rZ9CB#^(4FMrcN`v5_RlQC_nrB)uo|qb zX2@g5`i@XsUCRkY(zXuu}{5E9((=VkKm$<=oX6R({XI_6?)sB(YS$ z0MnyK#%rlydFUD)r`{S&gUnWhpg>zyX!SCH|9>yw?1}Fjp%q{b=x?h+q5zN|Nl4U~ z%MKeCq=rPN69!~7p+J#rfRIjxv3CHF{k}A<>wUm`S?U%48OC-^%60yV?;i7mnN6#Z zsmSf3_d;Hj@;}`1`;+X!Cu&5E?p~1Xg~-FKOTOTl5eGR0fy$xog;HL`v<(}HRvV#WSa?cBNOSiVB#7?jTs2^Ld5ULLzi>i&wSCc<{CLVsLJ(D#__L-?4dOqX# zkz25kyL=p7m9M7dTwbqG*xP0Mf3~>o=SoSrbf>aO-HvG|Jh#K-up@a>OW{r!`D^#c zWc=&%Fb`iF+)I_Qt+L}do8)aN)#OLfE{)rT$>ah1#$ZjeZnfJj)ci@epGMCZ8R@Op zIJml8(o16S<8;bn`0vPQm+>^$L|B$V#jBbP1SX|f6zJonR8}+eIl|uHwK&my%jTaf z*q83(9m)a1VQbdl+Fy20?3OHVoCiE0f76EV=={l6^~+6R02Gj}C)o{rTd@gF>pPHk zI~jV^apL(FjV!GZU@LAJR+|9|2lT%_htPcN*#Pl3H`g+4)}8ym2ax zTZ@U)28m~A`(%J-nn(u(H`s0LIF;_n7*38^wl~u!X0w+Bg>JpyX1RLTRrV-arnSq} z)DtVq*v{Aba(l-_C)1XsUK^c|h~cIBc+_oCWtTpF;Q=9vVaX~bzDxW=Aw>q^R!{p3 zrvAAP1CJdEygH&1ZSRdOg!bQ2WdMT`x>!I_f~UMJPJAX_-=RB^Ij*DKWizyjwj_az zkPmi84(r;k^?$zGG={y3%Y`%yH0)*8szVWcGrO1p8K)YgaR~cBjN+(ce@Hd24;JI3E$5M)3 zhqMP5mTzuJU}#kwmw?O6Lsf^D^$ZLrNHD*f8>ld|fiAmYT%J_$Sn07?XplzC&FYpK z2hN=#sf0jeOM6~n`FvzMk-!mw;-3PD1$W6YtSqcb>CUSXJKEpwqFrM~M2Gr5fl6Md zBYsXK$rdX`-F`!g9UCsgx-mmR5-K_O z96Ma$*bH&>i_x+PEw?Q#-)tv62Bs7D$m`fKtyQ=j1p+8S@R0ovJpQ+?-(jSHTjqDq zDF8Cs2?dIOs(D4LhU^(p+wD1YE4b}$w;}3i&CbHg3(p-&vOR`#gaP{J5}A>9PKyFn zWFbj+FM?p-VaU#=fg;WAbDB3}R_?;&GSQS2=0He^s%A^2EeiA=_P)vggqC3o`S`KO zheo&6vd0{6{!TrSg`?Z&*gtBaSd!0_|7s`wq)-%;2c<-Ta89qJAO{c>$W#u&GIxxR z0(ApqXgIA_(bNG^@z9Q&%fECf*A9IH84J6W&mLVE^4TTE=UX8tRUrWHbxr*8}KS7TK=&}(>bro%Wl#vXY_DO?RlWYsYQT)*STn-9c#aJ+kiWO^YGWSDT# zPNU@In@OhwyBXGl0=)=y(F|Q|6x^wzG_O=X9kZ=XC={xSe)kDBFHR=*#S+6BUiK#e zZVL$TJ36Kgn#NHu1}#?fgx^MG_`d!P7pw14GI*3o)CPI80qmmZw10?Qay9yuDKAS9 zyM+Sv$PB_Z>wi$VzA6S2MuBPf0E9;)mR1DNnGGt$KX2my%sofUJ}ii7q`Ue3lX3P& zL$TzKYjSm^HE?*8dL#$4lbV)AaGwKTWn3!d9j8$Pc}R(z;kt~|mE7f=|G=>kPwQHl zOJ*d%sCn;^kNOPYWquffi)CHyeiSQO@h|}I#Hk+B?!G|#wIosDc`CV#cMh2^P>r82 z^vhmDrB&X{+-HXB+88a!j3M^O5qR6>NjXPxP8Y`VSTD4e z$)L6-nf0o}6!}GTKyY8s-;zl`KKmVV>F>Sz?|uGPE{T7i+egz*>W>t8!%<|#8MU#O zJJ=GkW4gJl5HaI8qmdF8ATgEc$5UnZjNn;cj{Gdnq66pRq&^N^l&cnPKCogL=*Gg0 zZG=R74VWvk-pdrWX6WcI3fFasX{42oZDgNfzI2x#-9Ap1;$`3Oy-l%N8)qWVNUa)d zdO<9K89)HC`~%x{W^{#ary^m0EwC%m9-F|0?_FpRjL@1dkQ za^!8GIJ?*?PZpXuI{GRwSUl@8@354+5khRZcEK6xxiE95O)J1VaWP@PTD;)SE6mJm zMyH3d`sSq5T;t0QdJl6hbzao|hruaLKyXUhe^qeGa~k@6{RSvti&a9ZTp_7& z?%B8HcMOFm787sEKb%VG&y|j36-wa^5q(4`Xk^c!1EXzh0BZwc3j=^@0MV`MZj1k@@OWO;y+PXicP)d2=`&xDt%-q$(maIq=`Wg=_yYhktDJdY^X9-uv7l!Xo#4eSrpwxC*^ zg2pF&Gj_d0f+)Z?Jz#~YzU~f;!AaQTAkQ;MU}uQf*DoFWVfay%)LRFiHN=3>v_v93 z$&xb{b{+!-W6B;8Z^@D!S7R}W!J~{xrbLsgsm~0D=vc=bUyrs^_BCCJK-xw|Dqfss z5sU6ojl2&O(VM6JsO2&3y2Vxni+UGsGx@!lp- zNVmMTf%&$*i^(12bX0l=fp+C81l3eQQ8G)tybKMMvB7@?R6B*uTz+X!??PPh8k%}ZM2eD;O4{hd-frF?VpR9znwnj z5;Jdeyq&*!HpW%UnU@o?>Z%4G8>oHb96Uy!G^d%$5xQ2EqxMk0?O{^c$F-UL;k`n> zuV=Gkw;|+)G7b*ZRWc?{4!5?6cf$3IX|e>w&ewXcj=bDj6u+u(I_5Sh-H{}*- z*Sk!zrLHbewyPH3t2My+mISHYZTUcZb*O$-A9#4#G9S6&DiTo&U;ekxtIjOAxy7+L@5zQ`Va>xqqqY^fPgLBg>7#|m zRwLo^1)pYkl2o1C0D!I;@}B{Szvo@{KS$>l6#n`4?*;1qo(g}I8Qxn(gf&=P`2q<_ z8Mvpqdu4vai$*M}U#&s(68f8uDS=TnJ7oFM|$~2#P+b4UEQRxc=@IQAJ)a^F%TIe8+ZARVX;z zCO04Ni@jQgcw4yMZo6yWsN)>(;wn-^D1n^=QvQt9;=JO0GmiOqBl!qsJcm>)3a$@RHVT;y^S_&=Cj?NdGavHxn@lJ#ku@?b6&EM=ElL z0>u6RGQeiT>)iC$42!A2Go3@7-TkHYi*g`>GJF5e6IjtC$HA21^wMv4pblKAZODWI zsXHL|OYsM*UnLuj<(`>)<*!<1mUfvFePc+q$smr3!cNf38*1i!$EIN?mzQLexT&Zp z9G748kUxMT#&TK5___Gg>z}AY_;hm}<7n>&C0VbrW?`PJi&F}K8E{$C1BAkWlPZ*) zF!UaoJjVm!bk$*BjA$&A-&{Nue>Xaqm;QNh!_p7&9zE}1;HdO{-PLWR z|CuKIGa)ShrnJEW)(v*EX)i8TUelaU(b~Po#`EwqWhjp$46eHk?2oU5;#3?PS|#~L z20FbBz52sB#!(tMBe9(XgYxC!J?Dhn~e}Cf^fNA-0OWOO7XE$5(M#dl%-0 zdm*oy$TOpdozAeTxYS`Ence+@649cnvHjGMkkHY4JZE~w(rae-HLy}%1>kv9htQ?) zedb@IP{flKr!>j%=%VQGe7o7_22CSoe)t^rY;97sBuXHNyc{kWx~5&mTt7cFee6WG z%wK=AWlw$Ul2Yvc$ej^{va>UK-?AN?*XoT;_YJ-$TcUdQyPf5m+50M?tNS9MD>^z; zosGEXj;yil{*U!R@**j2^KPZ~aV5S4mdph?Og27%zxmg^qO`X2)VVINM}t$n&)3_dzUn*Ou(8c-o%8)h#6Wm>E!7nVXX>#0UiPDJ(mkpX ziJL~WvW2-hDNhU@U`S1!f<8u~*D6U~Z^l>LC-d1}h7j3=Kbl}i!7qat#jOA>GHoh&ryA%?Y z%ZgMTJP^LPP|tI#s%p5IXGt#Oet$2_?dYg*{8mcVXFX4O&DYR)N^A-Nmb`^WL1&-x zc%ABRR82+5O6a=}d~g+cB$!>FX5el0ejHK5qcM|^HlFz6noiQ}qQfy#I{aNd^VuzV$7XWuHoV! zIM_^|E)G2g0_9#CY_=FAD#m{3z13cNx>fu=Q1c^8uEw)`jY|DKM`Fdx8vOeh0?2Bx z(;_>2ygA?KG5;%1lW3SMkh)PttBweF19z>>9o&4m0gEneZBC{~f!yDmwMctT%q`vr zGJH6u1OT=9UwcqaX1&@;CF_Q&AEHo~RorJ+MrXuMw^yyc+9?RG^~je%t1R#F#%f=+ z#nVhUo8O-z+5k86?>e;rtze;CuYK|<24wv~8o~qG01fk?87=kEv+$1(bqVtYVP8ZW z4j77=0IT&)^u|1S-Q3$BVcqW*ei63d*Ne)Mi?d_YkjGE?lw}a1&pLfF!kV(Z?tH&| zm-PW;W=*^QWY!vLu`=uuk_(?3(klrxgE{)e(QcC;fe)|wy7H$vWS=Q|Mf-n0+F z=@C%x5$)Mfd9Lge`jfX0JjT@Jhv#=fL$5i&Xdo$1s~q1mUXX0eE<#m_jvPSN=S z0OXXv1(3mki$=%%0LZ;H^A{m7{>$F(ACv*_W0x!7-_Tch&on*Jv+ciOJ@eruUU$rb zMEGb3`^T4oEcw~xH0B?sugfLhA$Td!Pbgn>Q|n+#U!3`Q_W3JG6_u#NZNng%S4NCU z_S;4^CzU{I@P@IPoq^Fsg-ph?fH^Z3mq5R#-{uDLtaXa*>B1Tdo9xRl@t zn!a`!i}K@P?GZuuAPbAMvvbt#=Wy()bc&AHx_Iuad8{qq{BU^ZRDG@KqWaL}q(m5| z7x(5-anZ%-EwaQD;NVifJAxM?*C=u{fZPII|nEb`C25;ZG_Ak zpgFxQfJ}qmwc3C0uJ~K!(3XuzT!O2|$W>*o`o5xtY|Wbb( zH1c!fXZYkShmvK+8DP)px*5dF#Lq-7lQC%V`@G7SUbbNfP0=tHiV895d6l zIiy@izUSgVZnRXpSZ8Rk`++DxZt1vQzuL$DZrWub+Ebj5EV1i`;U(YJh{M%5445sG z#p{B)sP#A$$wLEGAv7(fI1%^ zFh^_ zU?XnpSC`e-;Uk|lqFK-JZm*wmXvWYc;yA64~p4{Z9w9-A)(K9Hj?CqvX?`$6VA;2gou%sHp@c zNl|q*;UDKs zy&s0Gp6sGP)W9oZALQzqbMz{fN1y-^^UGI|1s$uj!%KG*C<3T})-Y>Y?Ee@1%gFuR z;VF{Y8<%}-mUfP3)Z~Xd>V49t-BulaD zBh_vS7E(6PJUN%}+peOoRA_aN4IVzK8nPW5>!+u(86S--5be{?Y}zwDHU-S4Zk z-q4s=Er&AteU>Ryj+OOn=wZ{Qf;n7LcR-OUs4hRK8W_2#s5MEy$1?D|Pk zctK60KT}A#U9k|CASO*a&2zzY!p9J5{SZ)^qGc(wtdexB&kL7Lu26ewDOTY{ds*>& zUA;*qp8JH0V|w99KI-iZbsm(rG_@XZ>3fFx-=+hOOB0sw61B+`qo^dmFpDmB(zWV8 zl(MZLI{rdIes5%NyX*P$$1=i5l6x55kQ4pe$sW5OO%p&CekzQFJmM7ONcQo2nIjCT zo&EH7!a7Y~^?CSDYDqa*Sp{y#QC(g*e`T(qNn4=cvsrb=v7(BsGS4>20ugR~5yz;% zQ>v1+etO54FWa6uPMKM5*3thVt#3L}YsF30<1&&Cn;ZVwYme$xPt6*p4$A7n5#Mwsgf4`LZrXE!+dy@;+07sA1Cml)p1~|k1fuvqI4kpPbYL2np zEgywKtIF#>1Wsg=DSOk__V!$yl2qH80uKTntK@jz3DCZ_naVL-eUGJ$Ti+(uW*o?T zFEC!N$#6vrC+prJ4jGA%jGd$GFjaZxr9A+L>=|i(E3G-70J5bs&Vq(DV>L#PMr#60 zshlVtn}{=@nPQjWJ{WMci7IKisXJh?C>&zZc=_xG19j(2vzaX4gA})O{xK$LB(sb0 z?pBujaK`UCpTOKNp6$)L{Xa6#eEYzVk| z%(r;RpFWP<>ZLtDjyx!G(YP{{VpzOhW@OPIQs$KIBz8yRFK_v{@kjHoZ7*q26AmU- z$nZ(VxT_jHCl^V30vKCr09yI4wYB~)*N-1bVjXMM;MHYTcoF|SU>0zun9(7+uHr%U zC+b=*zMRyz6$4stT95=7%3TiC3tBjwB)(>u9+M3QLic8L9Y|XE3rp;BF@`@63~&MI zXMUfM8wE%PgL{8qettitES1q+W*9)Awz0Fm%ezZ3r{at0*dJP$`TD!uG~?5f9szxS zKc`(oDH-QZ{k#gp;OgpkEoIE%XSOIFZfJxnh7y8v96Kgaur2zVPOfIg2SQ5 zB_^u|ql_aCm?oZJa8vcia}CxjP$8ImdML&kM|A6VL}b(f5gB~{B@r3_8QAj6yTt}7 z?I%Lc6mf~GRAf>gfwRGK_j4{Q4l)AxwxhI>p2+wvD79p4rPn#N#-3{-M^47f;Exl( zaDoa@phuA1NaP3Fy|>nBM{P&|p>2*qCgVi0Z4ui`zou%n50j)}FR&5TS&0kZx4lX4Ha9@4 z`#a$!<}kZ_iB&yCYVU~o%ZSlujY~{St`(ibp_Kr#ejD&Zh}6&B=wm{RA#Yc?DL9N& zkAyfHS5pZNJhOdebo!dsWo-27xH;L_$=97OVs@5?F~Xabk}rOt=yo7{2|8lRR$%>z zF@}E=)AULovPTT8605hT=>+-45wq790&farJqdwxk)ip4@&^AHNBH|i0U$#EH=NaU z?fER*cR*y|{< z$50Sv6H8nXXo^Ak`YL!@IF_eJsseiM9`jc>cq&eT>6fO`-ukq~c4*cN7n^&~d4D5l z{|GA#5y}vKJ+KOoVIHoPP{k1Aj#t4+WEFw!5)-Y+kf z#RvA>b*}!a1CxJ{7rNywb;I@vi!*y|`CDyY$8*+C2d%YKr#l9N85&X-n+hAst{H+G zQu`u5Z?3Q&F}%E>9r|#$mUuz^+lRCj&-1`*0^TwW!n&-P%^`cOa1I{B(Z`WFRr}J+ zjnS|8%PnYZ`&!G&2N+L4sUv8~K<+6R`!&PR_{#86r&8$fqyq9t^#zqYY&)%>G@;Vv z9;4-?hFc$7(!%S6mFHZ~5+e)-MpChj{U@vP|IKdxmkcxfMKJ+*_MdsqD5)?YJc>MD zY&$BuU#2n+`+m(E$Ylxl4D_IE*=Jbu*0I=I{t;K{DVI&A0fmx$n^bmwFh#~XBzW|M z+eToM2ZzDGsxiL)&D+JhDfyHvZjKK=GK@r)XgpmmPl=fx%Pfa2u)KcbqxDct7GLoT zKS2qDt>!2D#yZj962??k`KH8 z`*_d$HY%SH^tAfDs@YmP8}U_HQVwn}*XOR%s(gzdEj#osokO17veS9gPb}_3+$GUu zTYasJ#mvT_&a?t%bbYiMzxad8*4=Wn9YP-DULnz9qxNbNbAaSpPC$0Z7srjabPqp2 z|LEtW$eVXBN+?>d@&$a=9-+9e2XH&-efSlLCWOm6(nTaugoN@Rfg>3aoMr(J?TgdX zKEGCv)0|l1V=)thv*xq@y&2%JX?+z*Jmo(v06Fa`*8R3uh6vM|1337v$_{}@5mD%h zX$TVk1LfKXKr~t%((8{U|5(%^Ib*kz@z77kFe-aa&6AG~MlP^LZ{_XZTW(`&4$b>K zIJY649xpW2`d~%r7~}_;G(Roz78dpu`-~^7oxtJ2puHrsR)_^k$65PndHe%r50K38 zFMpO1klw&^Ja>*}2%LYzU}$WZRtm(P*#?Fbds-LX<@B1SLsk*F9ZZT$=k z7CI`ZptDoHE+z4tL3L}}?a91^Y<)o%M*$;!e5WesT|Kq1q*H^iLPfTX@cb%0%$L2d z^?K(>9nV*o@tc4HD+P};j)YnCs@cyPHyX1b zD{d~5P^Ze}?u8bTvYgpj{uU9^KF01xP51FA2o8eO(#xpODRwq>72nCv98z{Vx@qxR z4BF*3c;|R#);Y)CRe2dunC*N0|Fn0WQB7^z9tV+Lm0pANs?s|_iZrPzy{L4NASk^A z=|-v)=|w=0D!m)&U6kHJ@4bZ*Am?q)c<&vL_niCA{qR2A_s$2#NW$L9&K@gkt@)q- z`I`^V<%E?o$682ZD4vy`MypT=%yv{eqWxqmvy@((sXDyyRoSt)>A=;OKQ<*nOqo=x zXU#sIT)I{9+&9DXf&E+o_O;@*aTeX^%$Pvk?lBN7LQC4E2*!P8Sd`G1;+ZA6pjcj~ zs;lI!%6o6@nRg#;*e@6h*~5q0p?QrIkM8GvbauSkt)qUKq9Xd!pNvg2d|$xW2Xsl) z3pbVpqK|0UB;W}`;TP?~J3{i$d!0Z{@3Lg*vTACA2PTY@UsG{Ck>8hMz}6N7fXAvP zBS5BueCsKQG*|RFcHK~LEp{Zg{iLFUq;Vsucb>`n0Btq|*lFMHfOi0{1i`)cU_Y9_PjW%$%93638^&5@h(!0;ofr?i^vlpj9@{Np(u>=Zt(K2bi_rjbDHT41>XFctelXZSCb+8zRNoI=(d!E#J8cL{P?;z~UcHqg(`h^W#T%kcqA`j_B)sq-cNqUogC@PaYg4 zq2s)`VACk7s9lQG>7gbMs~ZZuxFtxBsWDX8wf<=<@gQ6+J!RUCMbBUe&BZyiDX2hBl-<>;p}@ za&d@}vt5x$BC~uXMuy4e^=O#=`^}=Ft&s_1=M9@9Rq0`Nr;EABj)-$-frt9d<;G<) zjh)tVt5~XR9(s6!YGg0YKBtm+>B|Q(Et5R-qSwfm7cqE7$z~Hr+xp5^4o4jEEzRp; zNPTr!CzIuUrf;+9_4OZo8}n0)%%g86mJTUf5h{f-Ip^a@fD!p_ROATz5zW~=l>kJX z!cwh5f*)tilaAe$O8GGQsn2%B!G0qZ&1_)D>PafG^xKatXBkkI3nJJZp%tBl+nf>W z+!HjG$vxri%Xs*#8y#vrT0~|QQ4Pno%i`Z@;$5fp45mI^opWYoeHun|{1FKvQTMWO zBIu_}w62M|PRe9?i{|_d)`=dB!m)rgsi;bl2f!wVH~%xyrplWaD6*rh24dzza)aUW zIWuVmh!)@;T;-?+sNGCV1qTAHP#m+cEo70N482;?k)oa9^HTYAPdl0|MRV6DxC`3u zUTQJwgIW`*Rzo*Urp(kDne^J7(A|EN&~cpyfKmzzX(N8=>ma7=3L{m8l!ic^XxMSj zfItL6IWRhsE_k^={_*eMD_HX&eSNye4^(csp#2*?8$w!V_628vh1Gn`#C_(KXUbT5 z5Untoch9quKh&=Rdtr5QwHlgq&QtL?S-V*C@1m?a7y{ zQ(;{8oLMN(8vwqgj7sg@deAU%PU&=!E@X^A^bx1LC^2a0ATaPG!*4>iS#9{zpE%5! z63{c+sFz33`&k$VSJ>IOV#N#c#1qd*P++c-3hVSRXz}p9wRu8?QH7(4>&uN?HgYYo zw%R4GN`667!$JLNa=kiQvOAc|I7*yVe8O1*Yp-C2fNg~RJ5qUQvC{o(t}|I1+;@)` zx69)AMR?=hh@TY7LgTtxv~XydYHFy#m9dRiGnCy=jnK6o^97NlClE#%%d+YSubzV4 zO_(L8<iLzwEocsuKA;UROBX{w+eaXXoryD7OFX-gIF)^#*G6b7m<><4=iuAVYQ%AN5Z}MM*3bjx@C78303%Yt{cLtnFCU;rNv@S{b#Bj^T$oq z;e{JoP9Ki!98J)F1?*$5%Z60OLrKgs0VHRvCy=ew#+7m`UKhK4x6A4o<5u6uNXkOb zrcm_`lTQfa(?TYW)bV&4GwZ}@gO;q+=%7f#Ks|{b8P*|-mrhgRa z@B*C79bv~0^NZh&qb2Q_<`iF%IKnBKe!69sM=yjY*tK*D5<~U%0;|moGemam<9)?J zi~2KNqkN4T(Iqx#46Lw)46NM@I~`*AiG`*8ttXcLGVteBm{R5aSTrc)*3Ac#r&L+O zVbBw`TtraC>)y~ve4;rO!EC7e2l|Ug5+)HmGFq*4fs&?cwl{)?A&*s`M3ow{zMi^` z?dc6qg(zpPMN@Ly(C}O-xnF@p1b9I6m|xO-v>w>B315gGXJkxGU|NbT0JUBR)8**G zJQdT_ioBKT{>Qm5e_hWgJ~zj7Z9-9AeWNo8fhGEl60OgM!sde#RQ~z?N>U5!#CfAR zjj|HJHgUq^`C?ePFrA$rx_8lX#&mV9ePN`e(Eq$XQG50U3uw8#0M*66|xx`^~%2uCxh)cdX-9~Re%pEo+T*v=reJrY| z-{?H=@lv(AM_#MX8UgRsD|thf)1E@4agB;gR0zTw48h-4Qj#9%n4_mqrF~dz#fRDc zoEp?SB+kx}E-#_$AR9#UGW_oR*i?&^P)pZz-gBq5jeC`Yj*j{+m4#)+TlI0ynC+gU zrY}Eo6g?IxPW2MspFb1+)L(TQgTZGojA11y*Y%y4FKCE3g}-9`*?=WBh4Kl<7GYwxt-M^!iCE5Zvg3W~*-33ZjXYJ%r#{J>CYaYBl|>llE4nWGAlMO7!}=Z|&|sM<29O@3?(= zrZ;*d`WgPBO}F~Or8MwzXRULQIv;nI#!~8tTFZ$!&!NEVw*!&xytFUD*=!76mZ38q zFJ644U9TB_Or3@$_F|y2f%^SA8YEd6zCT|1X1dSCPFPUD^}3V(i)7SxZ)>aaDHon7mVLCTW>Rve9v}zL`GNDyieV_ zlewiDyZJ395w05ITLY))>-mj>)d}$CLe9k4m-^RH9>yW8H0^jh`q0XAc{sFr3BHkf zZgV;xxpiUc`wK<@Qty&vLltt`%Y_wNd*YVYm)p-Gn}!OMWv(4AVy(fRjh8S$Z)=Ko zr)4mZ@!Gf4ag>5W>2=|Q6{Z~DnFW+>a^H7uFYa$~hpW)cav_&1pmXf?02zjAlpKwP z1zi;c7>c|~fZ6xGJunI&d^0E#Tda&u|T5GT%<6vb?H?A^}xh5^om)6xKja$G_QaHBWOK+`-dZ{#4q{;(g zuO4#LEo%b~9G<&)tp40`7>|fBjpPgb%Y;&8ZCst)j9f0-g8FLw_lk|^<7#Z8V&C0p z_|!0aP))OniA&q20nJ@cw@)m({^+{IThS?1JflfJXA-sSghgk`h{|GV^<0{(Z66+3 zkpyKtvc&dZx+`&-sLb>}{Q_>2;!uOTeL#o_hioNwOm{e%N$we+sePP@?RlGQeyv}_ z>LdNLj|~F&3>~1@Ip6h#NFmRI`l~5eX}6VJMVA#EuEmL}eu9`zesb#U_xw_}$J;}h z@=ldP-di}`-9zn(hoG~>9Jt8b2O?Tg6F)KSVI72ZN)jx}^CI}Pbbr_5NZJOLl%HLg z#FOk_e{bmhN9DYB;U4=gAgNG}haw8P?%pu#(DYm;MspC6WB=De z*zD}#*$_g4-Sw3w|F{s4ocSk;;$N0W0Q)2$b^I)|{F{k@KN2lHkw6sk->Y@a9{dVY zq7+OZX!{;^pegvEwkCr0x)x8nrW$V)>6|(vqE~Z=u{Ce!IMKv^#@r|vcC&dirazg> zd-N2a_W%@&>^#gZ+L{n5L)0A8xwhF=Ci5>pL~nkWiI~PvX<3=8_MkOyYymQ*=Rz@*MCU+a$C!OU zJ60<(r6qwHT&_)<4UisCQ^u&L>R8dyQJcRM4J7+RX7-uV(T#x2A#ZdDJAnTFIRFc3 z`JZ7S6k+)bL>ZCt+(7N5DO960MzO)Btjc1E>7E)i$HQWE!XzE4QSNx0asPsM)a3^~ zl**nX|89Tg=F&$=$VG3AAzQk*DaiO$dJ?=ziZ0Jok7hBzMDM0%5tem=sr3)2r#>t$v^CX>w=!m*TyrX*C z<8mF`L)&__kM2?U)S|@UlGdD6r9Cn#v#$E)O^w`GmX;MqRDUDT5u`%{p6UX27%tgZ zd~wU_JJj5RA&pQ_u~fF)^?PWmm67Rl+$~xXC6rD6NCv?LVH7Y-o-flO}iWQAD~GDLQ>8zw;jVlJpa5MZ3i6 z$9VdV@BHqty_A?`7>YA3aaj$bR`)VQm3j5C8k546|`dxUFn* z_EJQ1rCBnrFL!(yUKZtnbKPj@Ek0X$SSe-~CmU&Z<>Q)kt=);v@($@w%Qo6*o9*hi z-K6&`oik8*g$RY#>QciV7c8a9$6ndyd}J0=idJtVcPC%$FCGkzJm#scaDYGlDqQ4Y z4q3{38UAG2)>5xDs!ck^&v2A|$X}94BL8T@F;v)xW1F7di<`q%zWo=Br&0lYk16~t zn!sG*Y@|+l#-;`)m!vZY_3{>P6Cr~c8Q1@Gz)1`qZ3U!(N!}<%h-R(=;?z2C#?fy%q z?LRPho84caSFYS+Z@DeS(HiP=hXI{2TA&9he{W>(`kvlT;g&!r+=KMQOOFPonax)% zSU}=F&LpMeGUzQk^sqn1#ev0@&roYA;Cvl?A}0dz^ z(Z4~SF@}G^_%GZvfQ)|Z#eF1U#0zks1F`gf14{q?EP(Iaw3$1$WLsQ-CL=cg4P*_> z12`o=V5tGJG;UeCMcn(klHXqvfXb$W|AxxW0fR^#dU1|4qPt zeE-uQUZ05d;M~@r8u8K;H^_;^Fmf4(yHG~|+taW!+?GjIVkBajG`{rI5XlyB0X90M zE3&X~{4l{@ROrQ`iRePgBCQ)Gg)dSlG}oUmhWo>~iq!wIfSXg$ZuNbKj3|cik=J}f zRRaUUcmG!BQCY{fss}J6%~aPe2PH+}79Zc1A{n1C8B6JGOqc_oS6ZCF8E5LsJV?yi zZLi*DbfA_{hG70!?NeLW?Yp1a%dRM+X&S?VjE>Ymwb`R+?gN@$k{aKpS3O#qZ_AFV8Y<_vE{d{I6oapG=QVuozsrf1a-n zw4?KSoNSw|{Em=8J7fyzBq+HcJwkoX>NaETPZRcB@XNlm zZlRpq9+nP@D38vdSez~`{s&l{P0~?PkM76bXs~3L*y2j+VvNtsnI8`$>(0Sa%%maO zZ-|iS1V?(N7H!5oQHBxSm9A;Q+}{f$I@4o|e>--fr*5Ab75XqI=y-cSMYWE7EuM9W zcIRZ6a0?6QarKBfvcIOv)wSD-!`UF1FFS} zHZ4Y0UlX71A+U+`$V97rH`Q{H_jS1LC{?n=W>0*Z1ZDzqU^@8YHg-kn1VFa1&EXJw zadkula&lJ?wSOD5zF-ZG2NyX8>6ef`uz2m7b?dGtC54W;k$2}$wI}~}2s8?P;sthp zQ`d2;+QF#~+g?5w-jJ&BCWvK(QYVQ(Koc{Wd%wu0^us(4BbPwTV>4r8gps<(!KZ42 zuH@dw$DsnRYDiBZ!G1D0ume-6cB7m@V}mL4$tL0bwq-;@mhF4x2z_i?OCAMbV|`Z| zn5JjZx)WgNoraDL2z*WYE$qA(JtyTXz<%1ozk@KQBtk#CiU^4xBC3 z$49G0A`N^S4cD_ktzVqw)_qIfU*fpjH@7c`(DviuZdxtqqO&StXW^G(YC69}c&`N~z{Q&idZ5oAs7W()IZV=)1 z&jcN;%o4JVcni{l&l=1NW{lR3_Svp%=vMlpL=C>S1$6U^Z;Z##Zmn>dXyaz;nAzpJ zzcX|Y<@O!7v$tg{EyvF24C$*5R=DwGYJceg)22{bu&VUK;_f8aq`490VA0JLYC^|a zNEqLhUofaJ77HxuQY>;XJY^`G6pA;FQQ>7uJ`Rq=(>WrrlJV+<;Tv`emeu^R9ny~u z3lZRsB*bP_*j{s>PdJ^lVgWdb`UUX-E<-ssL7`wS+kqdc*82t^3DQb;usYJ`l&?TG z#K*L&N+D}ly}wdzV&leK*dcLvC|;rwwk#qQut=KVcASCx({TTzQYnmU(E$SuaKpjm zdqYcpkug$PviY9SkU6tV!-@82k`nu++Hsx(hJ>@+bKW;F6(rcSG#k~h~ zJP35M%ZFZz+Rzd(Z)Dw!!b9F=D{5*xUZGW1cJ`M*CgsM@yMP~e1pn~ZO_pRZY5J@B zI1ZgJ8E6}*;CPLG7?*isX8)0D{*;dQx%0JPT0rs8f0<7ypNA>;1*_6a0z#r@Ht`e@ z$qRzLG3zEB0*pzG<()sT7u-L!g!*$5$fXi~;}G*w3IC~v@EulHkXwtD!Vl8-4nwf|!M(ANpAP7f%I(9pl;9s0gGWJOKNoj%SMk z)5Kr`&oa>H3rp1Y%l-Bd*=)C*GsfaWXt_cyiS{P#{eCUY+yfCA3Jez-5#ux2p6+Wt z5i>nkZ)Y~pgZN>(@ln{B?QUj~-edp{P~ z$n;gkV7#mcU%!O{aN>5!`+)*C5v9x%_0$C7X5vg!q}}OC7)nRB(z$QCB72;IHL{2V zB9whGCjbO5z)zcaOnS&ft6VRa}KDYUC#aR?XRSyY)2S-B3I8sds2JP=ACM9Cy(L z-C1(fF}%|eVd3eA!#5(1q*VZkL6wi7O| zi5>0eKCN~vv+jv_!t&>&BoO{f^B1r6Cn@JYC1D&M*tIHqk#{}~Kwa1h#C+TzMA?I4&$2%+I z(_lf>XL8p;db)W1HEnJb54w5OdPm}(##;4hjHhV<))Ww6qsss!fQ$X~IpuRM9}wFA z_!o@hZfKBa8zobFx<&4p7WFyc9$Ex^^O=WG6d{nXp5aDQkouuSJ%)Go(Ce3nQh3q% z1e~e=dSt)5ev_wIApf+CAhlpmq~N?Yg7wS>19KAtK$G(-zSUD^TUX0Y`LNv#` +profile. + + +``enable_autofs`` +~~~~~~~~~~~~~~~~~ + +Enable the ``autofs`` service. This is **not** needed for automounts! It is only +needed to support the ``-hosts`` map as documented in :manpage:`auto.master`. +The ``-hosts`` map is mounted on ``/net``. + + +``enable_filecopy`` +~~~~~~~~~~~~~~~~~~~ + +Enable the ``filecopy`` profile, which allows deploying arbitrary files from +``git.psi.ch`` through Hiera. + + +``enable_ganglia`` +~~~~~~~~~~~~~~~~~~ + +Determines whether to include the :doc:`ganglia_client +<../profiles/ganglia_client>`. + + + +``enable_sensu`` +~~~~~~~~~~~~~~~~ + +Enable the Sensu client and checks. + + +``enable_ssh_client`` +~~~~~~~~~~~~~~~~~~~~~ + +Deploy global SSH client configuration, ie ``/etc/ssh/ssh_config``. + + +``enable_telegraf`` +~~~~~~~~~~~~~~~~~~~ + +Enable the telegraf monitoring agent, which reports various system metrics to +InfluxDB servers. + + +``enable_icinga`` +~~~~~~~~~~~~~~~~~ + +Determines whether to include the :doc:`icinga_client +<../profiles/icinga_client>` profile, which installs the client components +necessary for Icinga-based monitoring. + + +``enable_kdump_client`` +~~~~~~~~~~~~~~~~~~~~~~~ + +Determines whether to include the :doc:`kdump_client <../profiles/kdump_client>` +profile. + + +``enable_multipath`` +~~~~~~~~~~~~~~~~~~~~ + +Enable the ``multipath`` profile for basic multipath functionality. + + +``enable_nfs_server`` +~~~~~~~~~~~~~~~~~~~~~ + +Enable the kernel NFS server and configure the :manpage:`exports(5)` file. See +the :doc:`nfs_server <../profiles/nfs_server>` profile for details. + + +``enable_nomachine`` +~~~~~~~~~~~~~~~~~~~~ + +Include the ``nomachine`` profile, which can install NoMachine NX in various +configurations. + + +``enable_platform`` +~~~~~~~~~~~~~~~~~~~ + +Enable the ``platform`` profile, which installs and configures hardware-specific +tools and configurations. + + +``enable_pmodules`` +~~~~~~~~~~~~~~~~~~~ + +Determines whether to enable the :doc:`pmodules <../profiles/pmodules>` profile. +When true, the necessary configuration is automatically sourced for all normal +users (ie UID >= 1000 and no ``-adm`` suffix) using :manpage:`bash(1)`. + +Requires AFS to work, as the required configuration files are stored on AFS. + + +``enable_print_client`` +~~~~~~~~~~~~~~~~~~~~~~~ + +Enable and configure CUPS as a client. See the :doc:`print_client +<../profiles/print_client>` profile for details. + + +``enable_rhgb`` +~~~~~~~~~~~~~~~ + +Determines whether the graphical boot screen is enabled. + + +``enable_updatedb`` +~~~~~~~~~~~~~~~~~~~ + +Determines whether or not :manpage:`updatedb(8)` (aka :manpage:`locate(1)`) is +enabled or not. When enabled, it is still possible to exclude certain +directories for indexing. This is also supported directly by the mounter module. + + +``include_aaa`` +~~~~~~~~~~~~~~~ + +Determines whether to include the :doc:`aaa <../profiles/aaa>` profile, which +configures authentication, authorization, and (partly) auditing. + + +``include_log_client`` +~~~~~~~~~~~~~~~~~~~~~~ + +Include the :doc:`log_client <../profiles/log_client>` profile. This is only +meant to allow roles customization of the :doc:`log_client +<../profiles/log_client>` profile. + + +``include_yum_client`` +~~~~~~~~~~~~~~~~~~~~~~ + +Determines whether to include the :doc:`yum_client <../profiles/yum_client>` +profile. + + +``package_groups`` +~~~~~~~~~~~~~~~~~~ + +The list of package groups to install. Package groups are defined using +`pkg_group::NAME`_. + + +``pkg_group::NAME`` +~~~~~~~~~~~~~~~~~~~ + +An array defining the package group ``NAME``. Package groups are installed using +the `package_groups`_ parameter. + + +``selinux_mode`` +~~~~~~~~~~~~~~~~ + +The SELinux mode to use, one of ``enforcing``, ``permissive``, and ``disabled``. +The *configured* SELinux mode (ie the setting in ``/etc/sysconfig/selinux``) is +changed immediately. The runtime mode is changed as follows, as certain +transitions are impossible without a reboot: + +========== ========== =========== +Current Setting New runtime +---------- ---------- ----------- +Enforcing Disabled Permissive +Enforcing Permissive Permissive +Permissive Enforcing Enforcing +Permissive Disabled Permissive +Disabled Permissive Disabled +Disabled Enforcing Disabled +========== ========== =========== + + +Examples +-------- + +The most basic usage is:: + + class role::some_role () { + + include role::base + + ... + } + +Most profiles that are included can be excluded when necessary:: + + class role::some_role () { + + class {'role::base': + include_icinga => false, + } + + ... + } + +This can be used to customize some of the basic profiles:: + + class role::base () { + + class {'role::base': + include_aaa => false, + } + + class {'profile::aaa': + allow_sudoers_d => true, + } + + ... + } diff --git a/admin-guide/puppet/roles/bootpc.rst b/admin-guide/puppet/roles/bootpc.rst new file mode 100644 index 00000000..d3847193 --- /dev/null +++ b/admin-guide/puppet/roles/bootpc.rst @@ -0,0 +1,16 @@ +``role::bootpc`` +================ + +This role implements a GFA bootpc system. + + +Parameters +---------- + +``yum_client::pkg_group::bootpc`` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The package group ``bootpc`` is *always* installed by this role. Other roles +usually ignore it, but of course it can be installed on such systems using the +``yum_client::package_groups`` parameter. See the :doc:`yum_client +<../profiles/yum_client>` documentation for details. diff --git a/admin-guide/puppet/roles/console.rst b/admin-guide/puppet/roles/console.rst new file mode 100644 index 00000000..d4f5dfb6 --- /dev/null +++ b/admin-guide/puppet/roles/console.rst @@ -0,0 +1,82 @@ +``role::console`` +================= + +A console as used at SLS/SwissFEL/... beamlines. Essentially a workstation with +additional configuration for Epics, mounts, etc. + + +Parameters +---------- + +================= ========= ============== +**Name** **Type** **Default** +----------------- --------- -------------- +banner_message string See ``common.yaml`` +favorites array See ``common.yaml`` +keyboard_layouts array See ``common.yaml`` +local_homes bool false +mount_root string +mounts array +priv_users array +symlink_root string +users array +================= ========= ============== + + +``banner_message`` +~~~~~~~~~~~~~~~~~~ + +A message displayed on the login screen. + + +``favorites`` +~~~~~~~~~~~~~ + +The of applications/locations in the 'Favorites' menu. Entries usually specify +an application's desktop file, eg. 'firefox.desktop'. + + +``keyboard_layouts`` +~~~~~~~~~~~~~~~~~~~~ + +The list of keyboard layouts available on the login screen. + + +``local_homes`` +~~~~~~~~~~~~~~~ + +Whether or not to use local homes in ``/home``. + + +``mount_root`` +~~~~~~~~~~~~~~ + +The directory where the mountpoint for the mounts in `mounts`_ are created. + + +``mounts`` +~~~~~~~~~~ + +A list of mounts defined through ``mounter::def::NAME`` (see the :doc:`mounter +<../profiles/mounter>`). The mounts must have a mountpoint beneath `mount_root`_ +for `symlink_root`_ to work properly. + + +``priv_users`` +~~~~~~~~~~~~~~ + +A list of users, which will have admin privileges in the UI. They can install +additional software, for example. + + +``symlink_root`` +~~~~~~~~~~~~~~~~ + +The directory where the symlinks to the mounts in `mounts`_ are created. + + +``users`` +~~~~~~~~~ + +The list of users/groups, who are allowed to log in. Group names must be +prefixed with ``%``. diff --git a/admin-guide/puppet/roles/daq_buffer.rst b/admin-guide/puppet/roles/daq_buffer.rst new file mode 100644 index 00000000..fd82458a --- /dev/null +++ b/admin-guide/puppet/roles/daq_buffer.rst @@ -0,0 +1,17 @@ +``role::daq_buffer`` +==================== + +A data acquisition server. This role assumes to be running on a system with two +disks, ``/dev/sda`` and ``/dev/sdb``. Apart from the usual LVs for the OS there +is another LV for metadata on ``/dev/sda`` (as usual). On ``/dev/sdb`` there is +a single LV for the actual data. + + +Parameters +---------- + +``daq_admins`` +~~~~~~~~~~~~~~ + +A list of users with full root access on the system (in addition to the usual +``aaa::admins``). diff --git a/admin-guide/puppet/roles/dcache_t3_pools.rst b/admin-guide/puppet/roles/dcache_t3_pools.rst new file mode 100644 index 00000000..53735ac8 --- /dev/null +++ b/admin-guide/puppet/roles/dcache_t3_pools.rst @@ -0,0 +1,4 @@ +``role::dcache::t3_pools`` +========================== + +This role implements a DCache pool for the Tier3. diff --git a/admin-guide/puppet/roles/desktop.rst b/admin-guide/puppet/roles/desktop.rst new file mode 100644 index 00000000..aca4eced --- /dev/null +++ b/admin-guide/puppet/roles/desktop.rst @@ -0,0 +1,28 @@ +``role::desktop`` +====================== + +This role implements a generic desktop system. The following features are +supported: + +- AFS (optional), with automatic token renewal +- AD authentication +- Printing via the PSI CUPS server +- Multiple keyboard layouts on the login screen +- Kerberos support for Firefox + + +Parameters +---------- + +``local_homes`` +~~~~~~~~~~~~~~~ + +If ``true``, then home directories are on local disk in ``/home``, otherwise the +home directory is determined by AD. + + +``priv_users`` +~~~~~~~~~~~~~~ + +A list of privileged users. Every user on this list has full root and is a +member of the wheel group.n diff --git a/admin-guide/puppet/roles/ganglia_server.rst b/admin-guide/puppet/roles/ganglia_server.rst new file mode 100644 index 00000000..9b8a38bd --- /dev/null +++ b/admin-guide/puppet/roles/ganglia_server.rst @@ -0,0 +1,5 @@ +``role::ganglia_server`` +======================== + +This role implements a server running the Ganglia web interface for a Ganglia +grid. diff --git a/admin-guide/puppet/roles/grafana.rst b/admin-guide/puppet/roles/grafana.rst new file mode 100644 index 00000000..169138a5 --- /dev/null +++ b/admin-guide/puppet/roles/grafana.rst @@ -0,0 +1,6 @@ +``role::grafana`` +================= + +This role implements a server running the Grafana web interface. + +For details on its configuration see the :doc:`grafana profile <../profiles/grafana>`. diff --git a/admin-guide/puppet/roles/hpc/ces.rst b/admin-guide/puppet/roles/hpc/ces.rst new file mode 100644 index 00000000..27f38f37 --- /dev/null +++ b/admin-guide/puppet/roles/hpc/ces.rst @@ -0,0 +1,2 @@ +``role::hpc::ces`` +================== diff --git a/admin-guide/puppet/roles/hpc/cn.rst b/admin-guide/puppet/roles/hpc/cn.rst new file mode 100644 index 00000000..6cdeec56 --- /dev/null +++ b/admin-guide/puppet/roles/hpc/cn.rst @@ -0,0 +1,20 @@ +``role::hpc::cn`` +====================== + +This role implements a Computing Node. Currently only Slurm is supported. +GPFS can be configured, but need changes in Puppet for newer clusters:: + + # Cluster specific classes + case $cluster['name'] { + 'merlin5','ComputeCluster_SwissFEL','ra','xbl','sf': { + class { 'profile::gpfs':; } + } + } + +Parameters +---------- + +``cluster`` +~~~~~~~~~~~~~~~ + +Must be defined by the setting: ``slurm::cluster`` in YAML. diff --git a/admin-guide/puppet/roles/hpc/database.rst b/admin-guide/puppet/roles/hpc/database.rst new file mode 100644 index 00000000..b244e4d7 --- /dev/null +++ b/admin-guide/puppet/roles/hpc/database.rst @@ -0,0 +1,4 @@ +``role::hpc::database`` +======================= + +This role implements a MySQL server for Slurm. diff --git a/admin-guide/puppet/roles/hpc/server.rst b/admin-guide/puppet/roles/hpc/server.rst new file mode 100644 index 00000000..360a7992 --- /dev/null +++ b/admin-guide/puppet/roles/hpc/server.rst @@ -0,0 +1,64 @@ +``role::hpc::server`` +====================== + +This role implements a Server node. Currently only Slurm is supported. +GPFS can be configured, but need changes in Puppet for newer clusters:: + + # Cluster specific classes + case $cluster['name'] { + 'merlin5': { + class { 'profile::gpfs':; } + } + } + +Parameters +---------- + +=========== ========= ========================== +**Name** **Type** **Default** +----------- --------- -------------------------- +has_slurm Boolean *true* +cluster Hash *slurm::cluster* +db_user String *slurm::db::user* +db_password String *slurm::db::password* +db_backup Boolean *slurm::db::backup* +=========== ========= ========================== + +``has_slurm`` +~~~~~~~~~~~~~~~ + +When set to ``true``, installs and configured a **slurm** server. +By default **slurm** is always installed, it can be disabled by setting this +parameter to ``false`` + +``cluster`` +~~~~~~~~~~~~~~~ + +Must be defined by the setting ``slurm::cluster`` in YAML. + +``db_user`` +~~~~~~~~~~~~~~~ + +Must be defined by the setting ``slurm::db::user`` in YAML. + +``db_passwd`` +~~~~~~~~~~~~~~~ + +Must be defined by the setting ``slurm::db::password`` in YAML. + +``db_backup`` +~~~~~~~~~~~~~~~ + +Must be defined by the setting ``slurm::db::backup`` in YAML. + +``db_options`` +~~~~~~~~~~~~~~~ + +Can be defined by the setting ``slurm::db::options`` in YAML. +Defaults to ``{}`` + +``db_backup_dir`` +~~~~~~~~~~~~~~~~~ + +Can be defined by the setting ``slurm::db::backup_dir`` in YAML. +Defaults to ``undef`` diff --git a/admin-guide/puppet/roles/hpc/ui.rst b/admin-guide/puppet/roles/hpc/ui.rst new file mode 100644 index 00000000..6152cd51 --- /dev/null +++ b/admin-guide/puppet/roles/hpc/ui.rst @@ -0,0 +1,20 @@ +``role::hpc::ui`` +====================== + +This role implements a User Interface. Currently only Slurm is supported. +GPFS can be configured, but need changes in Puppet for newer clusters:: + + # Cluster specific classes + case $cluster['name'] { + 'merlin5','xbl','sf': { + class { 'profile::gpfs':; } + } + } + +Parameters +---------- + +``cluster`` +~~~~~~~~~~~~~~~ + +Must be defined by the setting: ``slurm::cluster`` in YAML. diff --git a/admin-guide/puppet/roles/influxdb.rst b/admin-guide/puppet/roles/influxdb.rst new file mode 100644 index 00000000..fcc27fec --- /dev/null +++ b/admin-guide/puppet/roles/influxdb.rst @@ -0,0 +1,5 @@ +``role::influxdb`` +================== + +This role implements a simple InfluxDB server. It is used in combination with +the :doc:`telegraf client <../profiles/telegraf>`. diff --git a/admin-guide/puppet/roles/jupyterserver.rst b/admin-guide/puppet/roles/jupyterserver.rst new file mode 100644 index 00000000..2aa693b4 --- /dev/null +++ b/admin-guide/puppet/roles/jupyterserver.rst @@ -0,0 +1,5 @@ +``role::jupyterserver`` +========================= + +This role implements a Jupyterhub service that can spawn singleuser servers +on cluster nodes via a batch system. diff --git a/admin-guide/puppet/roles/log_server.rst b/admin-guide/puppet/roles/log_server.rst new file mode 100644 index 00000000..6f0bc3ef --- /dev/null +++ b/admin-guide/puppet/roles/log_server.rst @@ -0,0 +1,5 @@ +``role::log_server`` +========================= + +This role implements a syslog server, accepting logs via UDP and TCP on +port 514. diff --git a/admin-guide/puppet/roles/login_server.rst b/admin-guide/puppet/roles/login_server.rst new file mode 100644 index 00000000..897d34b3 --- /dev/null +++ b/admin-guide/puppet/roles/login_server.rst @@ -0,0 +1,5 @@ +``role::login_server`` +=========================== + +This role implements a login server. Its primary purpose is to allow users +without Linux workstations to work with Linux tools. diff --git a/admin-guide/puppet/roles/media_station.rst b/admin-guide/puppet/roles/media_station.rst new file mode 100644 index 00000000..58c246ae --- /dev/null +++ b/admin-guide/puppet/roles/media_station.rst @@ -0,0 +1,6 @@ +``role::media_station`` +======================= + +A media station, ie. a workstation for transferring experimental data to +external media (usually USB disks) and for managing said media. + diff --git a/admin-guide/puppet/roles/nomachine_proxy.rst b/admin-guide/puppet/roles/nomachine_proxy.rst new file mode 100644 index 00000000..5e302f6e --- /dev/null +++ b/admin-guide/puppet/roles/nomachine_proxy.rst @@ -0,0 +1,34 @@ +``role::nomachine_proxy`` +========================= + +This role implements a NoMachine proxy, acting as a HUB to access +to other machines through SSH. + + +Parameters +---------- + +================== ===================== =============================================================================== +**Name** **Type** **Default** +------------------ --------------------- ------------------------------------------------------------------------------- +$nomachine_desktop Enum['gnome','icewm'] ``hiera('nomachine::proxy::desktop_environment')`` +$banner_message String ``hiera('nomachine::gnome::banner', 'Wellcome to the NoMachine Proxy Server')`` +$keyboard_layouts Array ``hiera('nomachine::gnome::keyboards', ['us','de'])`` +================== ===================== =============================================================================== + +```nomachine_desktop``` +~~~~~~~~~~~~~~~~~~~~~~~ + +Must be defined. Please refer to ``common.yaml`` to see the default value. Currently ``gnome`` is only supported. +For ``icewm`` changes must be done in this class. + +```banner_message``` +~~~~~~~~~~~~~~~~~~~~ + +Customize Banner message. This can be done from hiera with ``nomachine::gnome::banner`` + +```keyboard_layouts``` +~~~~~~~~~~~~~~~~~~~~~~ + +Modify this in order to add or remove the default keyboard layouts. This can be done from hiera with +``nomachine::gnome::keyboards`` diff --git a/admin-guide/puppet/roles/reverse_proxy.rst b/admin-guide/puppet/roles/reverse_proxy.rst new file mode 100644 index 00000000..8d921a0f --- /dev/null +++ b/admin-guide/puppet/roles/reverse_proxy.rst @@ -0,0 +1,55 @@ +``role::reverse_proxy`` +======================= + +A reverse proxy based on Apache, which maps a set of URLs to other URLs on +various backend systems. + + +Parameters +---------- + +=========== ========= ============ +**Name** **Type** **Default** +----------- --------- ------------ +tls_cert string +tls_chain string +tls_key string +backends hash +allow_from string +=========== ========= ============ + + +``tls_cert`` +~~~~~~~~~~~~ + +The TLS certificate (PEM). + + +``tls_chain`` +~~~~~~~~~~~~~ + +The TLS certificate chain, ie. the intermediate certificate concatenated with +the host's certificate. + + +``tls_key`` +~~~~~~~~~~~ + +The TLS key (PEM). **Must be encrypted**! + + +``backends`` +~~~~~~~~~~~~ + +A hash describing the URLs to be proxied. The keys are the URLs relative to the +hostname, the values are hashes containing the following keys: + +- ``url``: the URL to forward requests to + + +``allow_from`` +~~~~~~~~~~~~~~ + +An expression controlling access to the reverse proxy. Syntax as described in +the `Apache manual +`_ diff --git a/admin-guide/puppet/roles/server.rst b/admin-guide/puppet/roles/server.rst new file mode 100644 index 00000000..c9c6b2ff --- /dev/null +++ b/admin-guide/puppet/roles/server.rst @@ -0,0 +1,5 @@ +``role::server`` +===================== + +This role implements a generic server. Only basic system functionality is +managed, e.g. authentication or logging. diff --git a/admin-guide/puppet/roles/slurm_client.rst b/admin-guide/puppet/roles/slurm_client.rst new file mode 100644 index 00000000..cfd136c7 --- /dev/null +++ b/admin-guide/puppet/roles/slurm_client.rst @@ -0,0 +1,4 @@ +``role::slurm_client`` +~~~~~~~~~~~~~~~~~~~~~~ + +**Deprecated**, please use ``role::hpc::ui`` instead. diff --git a/admin-guide/puppet/roles/slurm_compute.rst b/admin-guide/puppet/roles/slurm_compute.rst new file mode 100644 index 00000000..ae58ff33 --- /dev/null +++ b/admin-guide/puppet/roles/slurm_compute.rst @@ -0,0 +1,4 @@ +``role::slurm_compute`` +~~~~~~~~~~~~~~~~~~~~~~~ + +**Deprecated**, please use ``role::hpc::cn`` instead. diff --git a/admin-guide/puppet/roles/slurm_server.rst b/admin-guide/puppet/roles/slurm_server.rst new file mode 100644 index 00000000..355331a7 --- /dev/null +++ b/admin-guide/puppet/roles/slurm_server.rst @@ -0,0 +1,4 @@ +``role::slurm_server`` +~~~~~~~~~~~~~~~~~~~~~~ + +**Deprecated**, please use ``role::hpc::server`` instead. diff --git a/admin-guide/puppet/roles/softioc.rst b/admin-guide/puppet/roles/softioc.rst new file mode 100644 index 00000000..d7f30ae9 --- /dev/null +++ b/admin-guide/puppet/roles/softioc.rst @@ -0,0 +1,64 @@ +``role::softioc`` +================= + +This role implements a GFA SoftIOC system. + + +Parameters +---------- + +============== ======== =================================== +local_homes bool hiera('softioc::local_homes') +mount_root string hiera('softioc::mount_root') +mounts hash hiera_hash('softioc::mounts', {}) +symlink_root string hiera('softioc::symlink_root') +users array hiera('softioc::users', []) +============== ======== =================================== + + +``local_homes`` +~~~~~~~~~~~~~~~ + +If this is true, the home directories on the system will be in ``/home/%u``. + + +``mount_root`` +~~~~~~~~~~~~~~ + +The directory where the mounts given in ``mounts`` are mounted. + + +``mounts`` +~~~~~~~~~~ + +A hash defining the mounts to be mounted below ``mount_root``. + + +``symlink_root`` +~~~~~~~~~~~~~~~~ + +This defines the directory where symlinks to the mounts defined by ``mounts`` +are created. + + +``users`` +~~~~~~~~~ + +This overrides the ``aaa::users`` parameter. + + +Examples +-------- + +Configuration:: + + softioc::mount_root: '/gfa/.mounts' + softioc::symlink_root: '/sf' + softioc::mounts: + 'data': + ... + +Resulting files: + +- ``/gfa/.mounts/data``: mountpoint for ``data`` +- ``/sf/data ``: symlink to ``/gfa/.mounts/data`` diff --git a/admin-guide/puppet/roles/web_server.rst b/admin-guide/puppet/roles/web_server.rst new file mode 100644 index 00000000..0f1960e5 --- /dev/null +++ b/admin-guide/puppet/roles/web_server.rst @@ -0,0 +1,26 @@ +``role::web_server`` +==================== + +This role implements a simple web server which simply exports directories under +certain URLs. + + +Parameters +---------- + +``directories`` +~~~~~~~~~~~~~~~ + +A hash whose keys are the (relative) URLs under which to export the directories. +The values of the hash are the directories that should be made available. + + +Examples +-------- + +The following configuration exports ``/usr/share/doc`` as +``$FQDN/documentation`` and ``/usr/share/man`` as ``$FQDN/manpages``:: + + web_server::directories: + '/documentation': '/usr/share/doc' + '/manpages': '/usr/share/man' diff --git a/admin-guide/puppet/roles/workstation.rst b/admin-guide/puppet/roles/workstation.rst new file mode 100644 index 00000000..24b7977d --- /dev/null +++ b/admin-guide/puppet/roles/workstation.rst @@ -0,0 +1,103 @@ +``role::workstation`` +===================== + +This role implements a generic desktop system. The following features are +supported: + +- AFS (optional), with automatic token renewal +- AD authentication +- Printing via the PSI CUPS server +- Multiple keyboard layouts on the login screen +- Kerberos support for Firefox + + +Parameters +---------- + + +================= ========= ======================================== +**Name** **Type** **Default** +----------------- --------- ---------------------------------------- +banner_message string See ``common.yaml`` +favorites array See ``common.yaml`` +keyboard_layouts array See ``common.yaml`` +local_homes bool false +priv_users array [] +idle_delay integer hiera('workstation::idle_delay') +lock_delay integer hiera('workstation::lock_delay') +lock_enabled boolean hiera('workstation::lock_enabled') +timedlogin_delay integer hiera('workstation::timedlogin_delay') +timedlogin_enable boolean hiera('workstation::timedlogin_enable') +timedlogin_user string hiera('workstation::timedlogin_user') +================= ========= ======================================== + +``banner_message`` +~~~~~~~~~~~~~~~~~~ + +A message displayed on the login screen. + + +``favorites`` +~~~~~~~~~~~~~ + +The of applications/locations in the 'Favorites' menu. Entries usually specify +an application's desktop file, eg. 'firefox.desktop'. + + +``idle_delay`` +~~~~~~~~~~~~~~ + +The number of seconds before the screensaver is started. Also see `lock_delay`_ +and `lock_enabled`_. + + +``keyboard_layouts`` +~~~~~~~~~~~~~~~~~~~~ + +The list of keyboard layouts available on the login screen. + + +``local_homes`` +~~~~~~~~~~~~~~~ + +Whether or not to use local homes in ``/home``. + + +``lock_delay`` +~~~~~~~~~~~~~~ + +The number of seconds to wait after the start of the screensaver before locking +the screen. Also see `idle_delay`_. + + +``lock_enabled`` +~~~~~~~~~~~~~~~~ + +Whether or not to lock the screen after a period of inactivity. See +`idle_delay`_ and `lock_delay`_ for more. + + +``priv_users`` +~~~~~~~~~~~~~~ + +A list of users, which will have admin privileges in the UI. They can install +additional software, for example. + + +``timedlogin_delay`` +~~~~~~~~~~~~~~~~~~~~ + +How many seconds to wait at the login screen before logging in automatically. + + +``timedlogin_enable`` +~~~~~~~~~~~~~~~~~~~~~ + +Enable automatic logins. This does not work with accounts which require AFS, of +course. + + +``timedlogin_user`` +~~~~~~~~~~~~~~~~~~~ + +Which user to log in as if automatic logins have been enabled. diff --git a/admin-guide/puppet/roles/zookeeper.rst b/admin-guide/puppet/roles/zookeeper.rst new file mode 100644 index 00000000..af7e92cc --- /dev/null +++ b/admin-guide/puppet/roles/zookeeper.rst @@ -0,0 +1,30 @@ +``role::zookeeper`` +=================== + +This role implements a `zookeeper `_ server. It +only writes the configuration files and enables and starts the service. It *does +not* install the necessary packages. + + +Parameters +---------- + +Technically this role has no parameters, but the following parameters are used +by ``profile::zookeeper``. + +================= ========= ========================================= +myid string hiera('zookeeper::myid') +zookeeper_nodes array hiera('zookeeper::zookeeper_nodes', []) +================= ========= ========================================= + + +``myid`` +~~~~~~~~ + +The unique ID of the zookeeper node. + + +``zookeeper_nodes`` +~~~~~~~~~~~~~~~~~~~ + +The list off zookeeper nodes in the cluster. diff --git a/admin-guide/selinux.rst b/admin-guide/selinux.rst new file mode 100644 index 00000000..60ef75e1 --- /dev/null +++ b/admin-guide/selinux.rst @@ -0,0 +1,150 @@ +SELinux +======= + +Depending on the Puppet role and Hiera settings, SELinux can be enabled by +default. This is recommended especially for systems which are accessible from +outside PSI. + +This section provides basic information on SELinux in general, common problems +and how to solve them. + + +SELinux +------- + +Information on SELinux can be found here: + +- `Mandatory Access Control `_ +- :download:`SELinux coloring book + ` (`original + `_) + + +SELinux modes +------------- + +SELinux can be in one of three modes: + +- ``enforcing`` + + The SELinux policy is enforced, violations are logged. + +- ``permissive`` + + The SELinux policy is **not** enforced, but violations are still logged. + +- ``disabled`` + + SELinux is not loaded at all. + + +Going from ``enforcing`` or ``permissive`` to/from ``disabled`` requires a +reboot. + + +SELinux contexts +---------------- + +On an SELinux system every file has a context, and the SELinux policy controls +whether a confined service can access files of a given context. + +The context of files can be listed with the :manpage:`stat(1)` command or by passing +the ``-Z`` option to ``ls(1)``:: + + $ ls -Z /etc/fstab + -rw-r--r--. root root system_u:object_r:etc_t:s0 /etc/fstab + + $ stat /etc/fstab + File: ‘/etc/fstab’ + Size: 619 Blocks: 8 IO Block: 4096 regular file + Device: fd01h/64769d Inode: 134320258 Links: 1 + Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) + Context: system_u:object_r:etc_t:s0 + Access: 2017-05-13 21:50:43.533927373 +0200 + Modify: 2016-04-03 04:19:02.289004083 +0200 + Change: 2016-04-03 04:29:29.955011505 +0200 + Birth: - + + + +When files are created they are assigned a default context based on their path +according to the system policy. + +The default contexts configured for various filesystem locations can be listed +by running :manpage:`semanage(8)`:: + + $ semanage fcontext -l + ... + /usr/.* all files system_u:object_r:usr_t:s0 + /var/.* all files system_u:object_r:var_t:s0 + /run/.* all files system_u:object_r:var_run_t:s0 + /srv/.* all files system_u:object_r:var_t:s0 + ... + + +It is possible to add/list local customizations to the default contexts of the +system:: + + + $ semanage fcontext -a -t httpd_sys_content_t '/srv/web/data(/.*)?' + $ semanage fcontext -a -t etc_t /srv/web/httpd.conf + + $ semanage fcontext -l -C + /srv/web/httpd.conf all files system_u:object_r:etc_t:s0 + /srv/web/data(/.*)? all files system_u:object_r:httpd_sys_content_t:s0 + + +Use the :manpage:`restorecon(8)` command to restore the context of a file or +directory tree according to the system policy:: + + $ restorecon -v /etc/fstab + $ restorecon -vR /etc/puppetlabs/ + + +It is also possible to trigger a relabeling of all files with default contexts +by:: + + touch /.autorelabel + reboot + + +For debugging or during development the :manpage:`chcon(1)` command can be used:: + + chcon -t etc_t /srv/web/httpd.conf + +.. important:: This is not enough! The next ``restorecon(8)``, relabeling, or system + redeployment will not honor the changes made with :manpage:`chcon(1)`. Use + :manpage:`semanage(8)` as described above or change the location of the files + in question so that they are classified correctly by the system policy. + + +SELinux Booleans +---------------- + +SELinux booleans are variables which control certain restrictions enforced by +the SELinux policy. An example would be ``httpd_can_network_connect``, which +controls whether Apache can open network connections. + +The state of SELinux booleans is either ``on`` or ``off`` and can be queried +using :manpage:`getsebool(8)`:: + + # List all SELinux booleans and their states + getsebool -a + + # Show the state of a given variable + getsebool httpd_can_network_connect + + +The :manpage:`setsebool(8)` command changes the state of a boolean:: + + setsebool httpd_can_network_connect on + + +Puppet development +------------------ + +All Puppet modules should support SELinux. Modules which do, eg. +``profile::aaa``, must be tested with SELinux systems in enforcing mode. + +SELinux configuration is done through ``role::base`` and the ``selinux`` +component. diff --git a/admin-guide/software.rst b/admin-guide/software.rst new file mode 100644 index 00000000..6192382f --- /dev/null +++ b/admin-guide/software.rst @@ -0,0 +1,94 @@ +Software and Licenses +===================== + + +.. toctree:: + :maxdepth: 1 + + software/updates + + +Licenses +======== + +Our Red Hat Enterprise Linux subscriptions are provided by ETHZ, other licenses +are usually managed by Roland Blättler. + +The RHEL repositories can be accessed on the `ETHZ Satellite server +`_. It is only accessible from within PSI and a +special account is needed, which can be requested at +https://cd-portal.sp.ethz.ch/_layouts/15/start.aspx#/SitePages/Home.aspx. + +One thing to keep in mind is that several groups at PSI use the Satellite server +directly, so not all PSI hosts known to the Satellite belong to the central +Linux environment. In particular the network team has a number of systems there. + +Normally only certain infrastructure systems are registered with the Satellite, +at this point the Puppet server (``puppet00.psi.ch``), the repository server +(``repo00.psi.ch``), and the boot server (``boot00.psi.ch``). + +About once a year we report the total number of systems to ETHZ, so they can +track subscription usage. When we started using the ETHZ subscriptions in 2016 +we provided an estimate of 2000 systems max. + + +Distribution and deployment +--------------------------- + +All software is distributed as RPMs with the following exceptions: + +- some software is provided via AFS/NFS instead +- configuration files and scripts that can be considered configuration, e.g. the + files in ``/etc/cron.daily`` +- server applications can be deployed by cloning a Git repository (e.g. sysdb) + +There are a number of advantages to deploying software as RPM: + +- automatic installation/protection of dependencies +- inventory of installed software (``rpm -qa`` etc) including version + information +- integrity checking (``rpm -q --verify``) +- ownership tracking (``rpm -qf``, ``yum provides``) +- no network dependency, which is useful for laptops and increases reliability + on other systems + + +Repositories +------------ + +We maintain an internal mirror for every repository that we use, or at least a +local repository containing the specific packages. We never point ``yum.conf`` +(or any other package manager) to an external repository directly. + +The repository server is ``repo00.psi.ch``, and there is a corresponding test +system, ``repo00-test.psi.ch``. + +Currently we maintain the following repositories: + +1. RHEL 7 (almost all channels) +2. EPEL for RHEL 7 +3. Puppetlabs PC1 +4. Google Chrome +5. OpenAFS (PSI) +6. GPFS (PSI) +7. OpenHPC + +The mirroring is done using :manpage:`reposync(1)` with custom :manpage:`yum.conf` files. + + +The script to run a sync of all the repositories is `/opt/pli/sbin/psi-mirror-yum` but is +currently not executed automatically. + +To add a new repository to the list the files `/opt/pli/etc/mirror/yum.conf` and +`/opt/pli/etc/mirror/repolist` should be edited. The first file contains the repositories +definitions, the second one the list of repositories to mirror. + + + +Packaging +--------- + +All packaging information for in-house packages must be tracked in Git. The +repositories containing packaging information should be in the +`linux-packages `_ group on the +Gitlab server. diff --git a/admin-guide/software/updates.rst b/admin-guide/software/updates.rst new file mode 100644 index 00000000..3be1a5fc --- /dev/null +++ b/admin-guide/software/updates.rst @@ -0,0 +1,70 @@ +Updates +======= + +There are two major aspects to software updates on PSI Linux systems: + +1. The configured repositories. +2. The Update policy + +Generally the assumption is that ``/etc/yum.conf`` points the system at +repositories which, for each package, contain the version of that package which +should be installed on the system, and possibly older versions. This way, a +simple ``yum update`` would always bring a system to the desired state, even +though it is not recommended to actually run ``yum update`` directly (see +below). + +The policy answers the following questions: + +1. When should updates be installed? +2. Which types of updates should be installed? I.e. security fixes, security and + bug fixes, or all updates? +3. When should the system reboot? I.e. always (offline updates, recommended), + only when there is a new kernel, or never? +4. For how long can updates be pending before an alert is triggered? + + +Policy +------ + +Parameters: +- timing (never, timespec) +- severity +- reboot behaviour (always, only if necessary (kernel update or needs-restarting), never) + +Example of fully automatic updates with mandatory reboots:: + + update::schedule: Thu, 02:00 -- 04:00 + update::severity: 'security' + update::reboot: 'always' + + +Example of manually triggered, full updates with reboots if necessary:: + + update::schedule: 'never' + update::severity: 'all' + update::reboot: 'if-necessary' + + + +Procedure +--------- + +Updates should be performed by starting the ``psi-update`` service. Using this +service instead of running ``yum`` directly has a number of benefits: + +1. All update-related log output can be retrieved from the journal easily using + ``journalctl -u psi-update.service``. +2. The service will take into account the update policy even when in manual + mode, e.g. it will only install the desired types of updates. +3. The service will automatically notify monitoring systems if a reboot is + necessary, avoiding false positives. +4. It will take of any cleanup actions necessary. E.g. Splunk, a commercial + logging product requires to accept its license again after updates (by + running something like ``splunk --accept-license``). + + +Monitoring +---------- + +There will be a separate mechanism, e.g. a Nagios check, to alert on systems +that are not compliant with their update policy. diff --git a/admin-guide/third-party.rst b/admin-guide/third-party.rst new file mode 100644 index 00000000..35e21c47 --- /dev/null +++ b/admin-guide/third-party.rst @@ -0,0 +1,22 @@ +Third-party Documentation +========================= + +.. _bash_style_guides: + + +Style Guides/Coding standards +----------------------------- + +.. To add a new version to this repository, save as HTML in Firefox and copy to /_static. + +1. The :download:`Google Shell Style Guide ` + (`original `_) + + +Product Documentation +--------------------- + +1. `Red Hat Enterprise Linux documentation `_: + + - `Desktop Migration and Administration Guide `_ + diff --git a/admin-guide/troubleshooting.rst b/admin-guide/troubleshooting.rst new file mode 100644 index 00000000..f508a221 --- /dev/null +++ b/admin-guide/troubleshooting.rst @@ -0,0 +1,9 @@ +Troubleshooting +=============== + +.. toctree:: + :maxdepth: 2 + + troubleshooting/methods-and-tools + troubleshooting/deployment + troubleshooting/login diff --git a/admin-guide/troubleshooting/deployment.rst b/admin-guide/troubleshooting/deployment.rst new file mode 100644 index 00000000..79f03f31 --- /dev/null +++ b/admin-guide/troubleshooting/deployment.rst @@ -0,0 +1,91 @@ +============ + Deployment +============ + +Deployment roughly has the following phases: + +1. DHCP followed by PXE boot. +2. Kickstart installation followed by a reboot. +3. Initial Puppet run, followed by updates, followed by another Puppet run and a + reboot. + + +PXE boot/iPXE +============= + +When deployment fails during the PXE phase it usually due to one of the +following: + +1. No network connectivity + + This is usually indicated by messages similar to ``No link on XXX``. + +2. No DHCP in the connected network (eg DMZ, tier3) + + The DHCP requests by the BIOS/UEFI firmware will time out. + +3. Firewall (no TFTP/HTTP to the relevant servers) +4. Incompatibilities between iPXE and network card (NIC) +5. Incorrect sysdb entry (hence iPXE entry incorrect). + +If there is not DHCP, the static network information provided manually is +possibly wrong or for a different network than the one connected to the host. + + +Infiniband +---------- + +Infiniband can generally cause installation problem, expecially in the +initial phase, when iPXE tries to load the configuration file. + +As a general rule, disable PXE on all Infiniband cards. + +Anyway this is not always enough since it happens that iPXE recognized +anyway the Infiniband card as the first device (with MAC +address ``79:79:79:79:79:79``) and tries to get configuration file for +that. + + +Kickstart +========= + +Typical problems during the Kickstart phase: + +1. The Kickstart file cannot be retrieved from the boot server + ``boot00.psi.ch``. Typically caused by incorrect sysdb entries or firewalls. +2. Partitioning fails. This can happen because + + a) No disk is recognized, or the wrong disk is used + b) Packages or other installation data cannot be downloaded. Can be caused by + firewalls or incorrect sysdb entries. + + +First Puppet Run +================ + +A typical problem are Hiera errors, eg the following:: + + # puppet agent --test + Info: Using configured environment 'prod' + Info: Retrieving pluginfacts + Info: Retrieving plugin + Info: Loading facts + Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Function lookup() did not find a value for the name 'console::mount_root' at /srv/puppet/code/dev/envs/prod/code/modules/role/manifests/console.pp:1 on node lxdev05.psi.ch + Warning: Not using cache on failed catalog + Error: Could not retrieve catalog; skipping run + +The error message shows that the value for ``console::mount_root`` could not be +found in Hiera. + +Sometimes the Active Directory join fails, usually for one of these three +reasons: + +- There is already an Active Directory computer object for the same system from + a previous Windows installation. In this case, delete the computer object and + restart the installation. +- Firewall restrictions +- Old Puppet certificates from a previous SL6 installation are used on the + system. In this case delete the certificates on the client with ``find + /etc/puppetlabs -name '*.pem' -delete`` and clean up any certificates on the + Puppet server with ``puppet cert clean $HOSTNAME``. Then restart the + installation. diff --git a/admin-guide/troubleshooting/login.rst b/admin-guide/troubleshooting/login.rst new file mode 100644 index 00000000..3b369661 --- /dev/null +++ b/admin-guide/troubleshooting/login.rst @@ -0,0 +1,28 @@ +========================= + Login and Remote Access +========================= + +When a user cannot log in on a system, it is usually caused by one of these: + +1. The password is wrong. +2. Access hasn't been granted through Hiera (``aaa::admins`` and ``aaa::users``) + or ``/etc/security/ssh.allow.*``. The latter also has to be enabled in Hiera. +3. Log in as root is attempted from a system that is not a bastion host (eg + ``wmgt0*.psi.ch`` or ``*-gw.psi.ch``). +4. In the case of Gnome logins, the problem might be caused by the home + directory being inaccessible (eg because AFS doesn't work properly). +5. :manpage:`sssd(8)` may have problems. + +Regarding #3 note that on some systems the configured bastion host is +``wmgt*.psi.ch`` even though it is not actually possible to log in from there, +because the PSI firewall only allows connections from a certain gateway, eg +``foobar-gw.psi.ch``. + + +Notes +===== + +For normal users there will be a :manpage:`pam_access(8)` error even for +successful logins. The reason is that we use pam_access twice. First for admins +and then - depending on the system's configuration - for normal users. Obviously +the first one will fail unless the user in question is recognized as an admin. diff --git a/admin-guide/troubleshooting/methods-and-tools.rst b/admin-guide/troubleshooting/methods-and-tools.rst new file mode 100644 index 00000000..3b694e8f --- /dev/null +++ b/admin-guide/troubleshooting/methods-and-tools.rst @@ -0,0 +1,269 @@ +=================== + Methods and Tools +=================== + +This section covers the general methods and tools available for troubleshooting +RHEL Linux systems. + +Methodology +=========== + +When solving problems it is helpful to use a structured approach (as opposed to +randomly trying things until the system seems to work again) and to keep notes. + +The `Google SRE book `_ has useful +information, especially the `chapter on troubleshooting +`_ + + +Tools +===== + + +Services +-------- + +Services can be inspected with :manpage:`systemctl(1)`. Example:: + + ● sssd.service - System Security Services Daemon + Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled; vendor preset: disabled) + Active: active (running) since Thu 2018-06-21 16:26:48 CEST; 5 days ago + Main PID: 691 (sssd) + CGroup: /system.slice/sssd.service + ├─691 /usr/sbin/sssd -i --logger=files + ├─746 /usr/libexec/sssd/sssd_be --domain D.PSI.CH --uid 0 --gid 0 --logger=files + ├─758 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files + └─759 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files + + Jun 21 16:26:48 lxdev05.psi.ch systemd[1]: Starting System Security Services Daemon... + Jun 21 16:26:48 lxdev05.psi.ch sssd[691]: Starting up + Jun 21 16:26:48 lxdev05.psi.ch sssd[be[D.PSI.CH]][746]: Starting up + Jun 21 16:26:48 lxdev05.psi.ch sssd[pam][759]: Starting up + Jun 21 16:26:48 lxdev05.psi.ch sssd[nss][758]: Starting up + Jun 21 16:26:48 lxdev05.psi.ch systemd[1]: Started System Security Services Daemon. + Jun 25 10:59:22 lxdev05.psi.ch [sssd[krb5_child[5223]]][5223]: Preauthentication failed + Jun 25 10:59:24 lxdev05.psi.ch [sssd[krb5_child[5224]]][5224]: Preauthentication failed + Jun 25 10:59:24 lxdev05.psi.ch [sssd[krb5_child[5224]]][5224]: Preauthentication failed + + +Processes +--------- + +Processes can be investigated through a variety of tools: + +1. The files in ``/proc/$PID/``, in particular + + a) ``/proc/$PID/fd/*``: the open files of the process + b) ``/proc/$PID/environ``: the process' environment + +2. :manpage:`strace(1)` allows tracing a process' system calls. +3. :manpage:`ltrace(1)` allows tracing a process' library calls. + +.. note:: Both :manpage:`strace(1)` and :manpage:`ltrace(1)` slow the target + process down **a lot**, which might cause problems. + + +System and Application Logs +--------------------------- + +Starting with RHEL 7 almost all system logs end up in the journal, which can be +queried with ``journalctl``. One important exception is :manpage:`sssd(8)`, +which provides authentication against Active Directory. Its logs can be found in +``/var/log/sssd``. + + +:manpage:`journalctl` offers a lot of functionality. The following list shows +the most important features: + +1. List all reboots/show logs starting at a specific reboot:: + + # journalctl --list-boots + -10 19d173f56d314912820486b9ddfd7d6c Thu 2018-06-21 11:20:55 CEST—Thu 2018-06-21 + -9 3a5a050289314221a3863b88a0eef367 Thu 2018-06-21 11:26:33 CEST—Thu 2018-06-21 + -8 f9726e6c9ce44678ab68a2fc12b1c12c Thu 2018-06-21 11:43:38 CEST—Thu 2018-06-21 + -7 b4e6bc84ff8840adbc698992cd1900d2 Thu 2018-06-21 14:55:42 CEST—Thu 2018-06-21 + -6 81b78d0d09934937a24a73bfcd3d8ede Thu 2018-06-21 15:06:18 CEST—Thu 2018-06-21 + -5 dd78e29c073448ad9731c6c18288c97a Thu 2018-06-21 15:23:15 CEST—Thu 2018-06-21 + -4 0fc2f05d12664d3aba6364102401d5fb Thu 2018-06-21 15:29:36 CEST—Thu 2018-06-21 + -3 412bbe36d12546bab749a2a63fad99ca Thu 2018-06-21 15:34:19 CEST—Thu 2018-06-21 + -2 c5189f2006c245d7833bb8fe20e62545 Thu 2018-06-21 16:07:51 CEST—Thu 2018-06-21 + -1 7c47950edd194ff4b6a67d3556672430 Thu 2018-06-21 16:11:28 CEST—Thu 2018-06-21 + 0 61ea098edc924030aafb7a822c2df0e3 Thu 2018-06-21 16:26:46 CEST—Wed 2018-06-27 + + # journalctl -b + -- Logs begin at Thu 2018-06-21 11:20:55 CEST, end at Wed 2018-06-27 14:20:01 CEST. -- + Jun 21 16:26:46 lxdev05.psi.ch systemd-journal[85]: Runtime journal is using 8.0M (max allowed 91.9M, trying to leave 137.9M free of 911.8M av + Jun 21 16:26:46 lxdev05.psi.ch kernel: Initializing cgroup subsys cpuset + + # journalctl -b -2 + -- Logs begin at Thu 2018-06-21 11:20:55 CEST, end at Wed 2018-06-27 14:20:01 CEST. -- + Jun 21 16:07:51 lxdev05.psi.ch systemd-journal[87]: Runtime journal is using 8.0M (max allowed 91.9M, trying to leave 137.9M free of 911.8M av + Jun 21 16:07:51 lxdev05.psi.ch kernel: Initializing cgroup subsys cpuset + +2. Show logs starting from a given date/time:: + + # journalctl --since 2018-06-23 + # journalctl --since '2018-06-23 18:13' + +3. Show logs for a given unit, eg a given service:: + + # journalctl -u sshd.service + # journalctl -u pli-puppet-run.timer + +4. Show the last N messages (1000 by default):: + + # journalctl -e + # journalctl -e -n 250 + +5. List all systemd timers:: + + # journalctl list-timers + NEXT LEFT LAST PASSED UNIT ACTIVATES + Wed 2018-06-27 16:45:01 CEST 2h 16min left Tue 2018-06-26 16:45:01 CEST 21h ago systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service + Thu 2018-06-28 07:31:00 CEST 17h left Wed 2018-06-27 07:31:25 CEST 6h ago pli-puppet-run.timer pli-puppet-run.service + + 2 timers listed. + Pass --all to see loaded but inactive timers, too. + + +Filesystems and Storage +----------------------- + +Check filesystem capacity using :manpage:`df(1)`:: + + # df -h + Filesystem Size Used Avail Use% Mounted on + /dev/mapper/vg_root-lv_root 8.0G 1.4G 6.7G 17% / + devtmpfs 909M 0 909M 0% /dev + tmpfs 920M 0 920M 0% /dev/shm + tmpfs 920M 816K 920M 1% /run + tmpfs 920M 0 920M 0% /sys/fs/cgroup + /dev/sda1 976M 198M 728M 22% /boot + /dev/mapper/vg_root-lv_tmp 1014M 34M 981M 4% /tmp + /dev/mapper/vg_root-lv_var 2.9G 1.4G 1.5G 47% /var + /dev/mapper/vg_root-lv_var_log 2.0G 160M 1.9G 8% /var/log + /dev/mapper/vg_root-lv_openafs 1008M 1.3M 956M 1% /var/cache/openafs + tmpfs 184M 4.0K 184M 1% /run/user/0 + + +Check available inodes (~ the maximum number of files that can be created):: + + # df -i + Filesystem Inodes IUsed IFree IUse% Mounted on + /dev/mapper/vg_root-lv_root 4194304 48891 4145413 2% / + devtmpfs 232630 383 232247 1% /dev + tmpfs 235485 1 235484 1% /dev/shm + tmpfs 235485 575 234910 1% /run + tmpfs 235485 16 235469 1% /sys/fs/cgroup + /dev/sda1 65536 348 65188 1% /boot + /dev/mapper/vg_root-lv_tmp 524288 316 523972 1% /tmp + /dev/mapper/vg_root-lv_var 1474560 1042691 431869 71% /var + /dev/mapper/vg_root-lv_var_log 1048576 81 1048495 1% /var/log + /dev/mapper/vg_root-lv_openafs 65536 11 65525 1% /var/cache/openafs + tmpfs 235485 2 235483 1% /run/user/0 + + +Networking +---------- + +Test hostname resolution with :manpage:`getent(1)`, for example ``getent hosts +www.psi.ch``. Unlike :manpage:`nslookup(1)` or :manpage:`dig(1)`, it uses the +system resolver. + +The systems IP addresses and routes can be displayed using :manpage:`ip(8)`:: + + # ip address + 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 + link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 + inet 127.0.0.1/8 scope host lo + valid_lft forever preferred_lft forever + inet6 ::1/128 scope host + valid_lft forever preferred_lft forever + 2: ens160: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 + link/ether 00:50:56:9d:6d:03 brd ff:ff:ff:ff:ff:ff + inet 10.129.160.195/24 brd 10.129.160.255 scope global ens160 + valid_lft forever preferred_lft forever + inet6 fe80::250:56ff:fe9d:6d03/64 scope link + valid_lft forever preferred_lft forever + + # ip route + default via 10.129.160.1 dev ens160 + 10.129.160.0/24 dev ens160 proto kernel scope link src 10.129.160.195 + 169.254.0.0/16 dev ens160 scope link metric 1002 + +The link status and other information of an interface can be displayed using +:manpage:`ethtool(8)`: + +1. Link status:: + + # ethtool ens160 + Settings for ens160: + [...] + Speed: 10000Mb/s + Duplex: Full + [...] + Link detected: yes + +2. Statistics (driver-specific, but look for errors/discards/dropped):: + + # ethtool -S ens160 + NIC statistics: + Tx Queue#: 0 + TSO pkts tx: 21529 + TSO bytes tx: 91036062 + ucast pkts tx: 1036632 + ucast bytes tx: 235421707 + mcast pkts tx: 8 + mcast bytes tx: 648 + bcast pkts tx: 7 + bcast bytes tx: 294 + pkts tx err: 0 + pkts tx discard: 0 + drv dropped tx total: 0 + too many frags: 0 + giant hdr: 0 + hdr err: 0 + tso: 0 + ring full: 0 + pkts linearized: 0 + hdr cloned: 0 + giant hdr: 0 + Rx Queue#: 0 + LRO pkts rx: 6913 + LRO byte rx: 100534073 + ucast pkts rx: 551554 + ucast bytes rx: 161369441 + mcast pkts rx: 4 + mcast bytes rx: 344 + bcast pkts rx: 753276 + bcast bytes rx: 45787629 + pkts rx OOB: 0 + pkts rx err: 0 + drv dropped rx total: 0 + err: 0 + fcs: 0 + rx buf alloc fail: 0 + tx timeout count: 0 + + +Packages +-------- + +The integratity of installed package can be checked with :manpage:`rpm(8)`:: + + # rpm -Vv pciutils + ......... /usr/sbin/lspci + ......... /usr/sbin/setpci + ......... /usr/sbin/update-pciids + ......... /usr/share/doc/pciutils-3.5.1 + ......... d /usr/share/doc/pciutils-3.5.1/COPYING + ......... d /usr/share/doc/pciutils-3.5.1/ChangeLog + ......... d /usr/share/doc/pciutils-3.5.1/README + ......... d /usr/share/doc/pciutils-3.5.1/pciutils.lsm + ......... d /usr/share/man/man8/lspci.8.gz + ......... d /usr/share/man/man8/setpci.8.gz + ......... d /usr/share/man/man8/update-pciids.8.gz + +Running ``rpm -Vav`` will verify **all** installed packages and take a long +time. See the man page for details on the output format. Changes, especially in +configuration files, can be normal, though.