...
 
Commits (325)
local
*.retry
host_vars/127.0.0.1
ansible2.5/
get_ipa_users.py
missing_dnf.py
Calling host: lasXXX.las.kit.edu (Fedora XX)
Failing nodes: lasXXX, lasXXX
Summary
-------
(Summarize the bug encountered concisely)
Steps to reproduce
------------------
(How one can reproduce the issue - this is very important)
What is the current bug behavior?
---------------------------------
(What actually happens)
What is the expected correct behaviour?
---------------------------------------
(What you should see instead)
Relevant logs and/or screenshots
--------------------------------
```
(Paste any relevant logs - please use code blocks (```) to format console output,
logs, and code as it's very hard to read otherwise.)
```
Possible fixes
--------------
(If you can, link to the line of code that might be responsible for the problem)
/label ~bug
/cc @gethmann
Host: lasXXX.las.kit.edu
OS: Fedora XX
Software name:
--------------
Software installation instruction if not in repos:
--------------------------------------------------
Possibly also interesting for:
-------------------------------
/label ~softwarerequest ~suggestion
/cc @project-manager
repos:
- repo: https://github.com/willthames/ansible-lint.git
sha: v3.4.16
hooks:
- id: ansible-lint
files: \.(yaml|yml)$
- repo: https://github.com/pre-commit/pre-commit-hooks.git
sha: v1.1.1
hooks:
- id: trailing-whitespace
- id: check-added-large-files
MIT License
Copyright (c) 2018 Julian Gethmann
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
# [Ansible](https://docs.ansible.com/ansible/index.html) repository for LAS/CS NSQ computer
You need to have access to this repository (you need to add your public ssh-key (`ssh-keygen`) to your profile here).
Then you can clone the git repository to work on in locally.
`git clone git@git.scc.kit.edu:las/ansible.git`
Add your computer to the `hosts` file or if you are just testing add it to the local file.
Add your ``hostname`` under each role name (the name in the square brackets) you want to be run on your computer.
Also create a new file which is named
after your [fully-qualified-domain-name](https://de.wikipedia.org/wiki/Domain_(Internet)#Fully_Qualified_Domain_Name_.28FQDN.29}) (FQDN) in the `host_vars` directory including a [yaml](https://docs.ansible.com/ansible/YAMLSyntax.html) list with some host specific configuration variables, e. g. copy another similar host and adjust it.
These files do not have the `.yml` extension and do not start with `---` as most of the other yaml files do.
Then create a file named after your FQDN with the extension ``.yml`` in the main directory of ansible which includes all the roles one want to run. This step needs root privileges and therefore makes only sense for the first installation of a computer.
Install ansible and some dependencies:
```
dnf install ansible git python3-dnf libselinux-python python3-netaddr
```
Run
``` bash
git clone git@git.scc.kit.edu:las-it-organisation/32-0-IT-InstructionsAndRules/ansible.git
cd ansible
sudo ansible-playbook --limit $(hostname -f) --vault-id @prompt sites.yml
```
* If you only want some parts of the roles to be run, you can use the option `-t TAGNAME` to run only those tasks with the given tag.
* The vault-password is known to the usual suspects.
### Ask for new software
Open an issue in the GitLab issue tracker and use the template for softwarerequests.
If the software is in the Fedora repositories and you think it makes sense to
install this software only on your computer, you can also provide a merge/pull
requst by adding the software name to the list of `extra_software` in the
`host_vars` file for your computer.
## How to get new software on your computer
## Available roles
* common.yml: basic configuration for all LAS/NSQ computers
* clients.yml: all computers not acting as a server (only) ^1
* desktop.yml: all desktop computers including laptops (having X11/Wayland)
* graphics.yml: fundamental graphics software (Inkscape, Gimp)
* python.yml: basic python_stack for scientific Python usage (including fitting) ^1
* ipynb.yml: IPython/Jupyter notebook ^1
* nfs.yml:
* nfs-server: export /las-archiv1 to our network
* lasarchiv: client side mount las126/las-archiv1
* admin.yml: tools for administrators
* chrome.yml: Google Chrome for Fedora (for Adobe Connect usage)
* dhcpd.yml: DHCPd primary and secondary server on Fedora
* elegant.yml: elegant (no Pelegant, yet)
* inovesa.yml: [Inovesa](https://github.com/Inovesa/Inovesa)
* kdev.yml: KDevelope (with Python PlugIn) ^1
* latex.yml: basic LaTeX installation (Arial not yet) ^1
* opera.yml: Cobham's Opera3d (client) ^2 ^3
* pycharm.yml: Cross platform Python IDE: [PyCharm](https://www.jetbrains.com/pycharm/) IDE
* remmina.yml: remmina a Remote Desktop Protocol (Windows remote) client for e. g. [rds.scc.kit.edu](https://rds.scc.kit.edu)
* ripgrep.yml: ripgrep the better grep
* undulator_control.yml: Install the software stack that is necessary to develop the control system for the JENA TGU experiment
* zotero.yml: A citation management software
^1: (also put your FQDN to the \[common\] section in the hosts file as it depends hereon)
^3: (also put your FQDN to the \[lasarchiv\] section in the hosts file as it depends hereon)
### ^2 Opera
After installing Opera via ansible you must confirm the license agreement at first start and go to "Licensing -> Set License Path" and switch to `Other computer(s)` and fill in `@129.13.108.100`.
# Develop new roles, extend or modify existing ones and update roles for new software
## Branches
All roles in the master branch should work and should not brake on any of our systems (desktop, server, simulation, notebooks). The `site.yml` should always be runnable and include all roles that are stable and not explicitly for setup purposes only.
For developement and testing you should use development branches like `dev-latex`.
You can check the syntax of the files by running `ansible-playbook --check-syntax filename.yml` (or by using the pre-commit-hook from the Snipplets.
If you just want to install one or many packages you can use `kdev.yml` as a basis or if it is not interesting for others you might want to add it to your host file instead.
Be aware that the development branches here are not save and the owner might force push to them!
# Run as admin
## Bootstraping
* Enable SSH on the new host (`lasXXX$ sudo systemctl start sshd && sudo systemctl enable sshd`)
* Add your SSH-key to the host `ssh-copy-id lasXXX.las.kit.edu`
* Install ansible dependencies: `dnf install python2-dnf libselinux-python`
* Check the `hosts` file for entries of `lasXXX.las.kit.edu`
* Run `ansible-playbook -K --vault-id @prompt sites.yml` probably with the option `-l lasXXX.las.kit.edu`
## Edit encrypted files
* You can either use `ansible-vault edit --vault-id @prompt group_vars/all/vault.yml` to edit the file in your editor mentioned in the `$EDITOR` environment variable or
* you can decrypt the file `ansible-vault decrypt --vault-id @prompt group_vars/all/vault.yml`, edit the file and encrypt it again `ansible-vault encrypt --ask-vault-pass group_vars/all/vault.yml`
The first one is of cause the preferred one, because there is no rist to add a unencrypted file to the repo.
## Bootstrap IPA hosts
In this example the client to bootstrap may be `las112` and the installation takes place from the server `las126`.
The prompts `#` show that you are working at root.
* Add your (root's) SSH-key to the host `las126# ssh-copy-id lasXXX.las.kit.edu`
* Install ansible dependencies on the client: `las112# dnf install python2-dnf libselinux-python`
* Get a Kerberos ticket (``las126# kinit -f admin@LAS.KIT.EDU``)
* For the host with the hostname `lasXXX.las.kit.edu` do the following
* edit a file ``host_vars/lasXXX.las.kit.edu``
```
las126# ansible-playbook -l lasXXX.las.kit.edu add_ipa_host.yml --vault-id @prompt
```
and provide the root password for the new host.
## Decommission/Uninstall a host
* edit the ``add_ipa_host.yml`` and uncomment the uninstall step in it.
---
- hosts: all
remote_user: root
vars:
ipa_host: "{{ computer_name }}.las.kit.edu"
ipa_host_ip: "129.13.108.{{ ip_suffix }}"
ipa_domain: las.kit.edu
vars_prompt:
- name: "ipa_pass"
prompt: "What is the admin@LAS.KIT.EDU password?"
private: yes
# - name: uninstall host
# become: yes
# command: ipa-client --uninstall -U
roles:
- ipa_hosts
- hosts: admin_pcs
tasks:
- dnf: name={{item}} state=latest
become: yes
with_items: admin_software
- name: install admin software
become: yes
dnf:
name: "{{ item }}"
state: present
with_items: "{{ admin_software }}"
[defaults]
inventory=hosts
pipelining = True
remote_user=gethmann
ssh_args = -o ControlMaster=auto -o ControlPersist=60s
remote_user=root
roles_path=roles
become=False
become_user="root"
become_ask_pass=True
become_method="sudo"
ansible_python_interpreter="/usr/bin/env python3"
gathering = smart
fact_caching = jsonfile
fact_caching_connection = cachedir
fact_caching_timeout = 86400
- hosts: chrome
roles:
- google-chrome
- hosts: all
roles:
- common
- hosts: cn
become: yes
tasks:
- hostname: name=las-bernhard.anka.kit.edu
tags:
- cn
- always
- hosts: desktop
tasks:
- dnf: name={{item}} state=latest
become: yes
when: ansible_distribution == 'Fedora'
with_items:
- desktop_software
- name: install desktop software
dnf:
name: "{{ desktop_software }}"
state: present
become: yes
when: ansible_distribution == 'Fedora'
- hosts: dhcpd
roles:
- dhcpd
- hosts: elegant
roles:
- elegant
---
- hosts: epics
roles:
- epics
- hosts: graphics
roles:
- graphics
---
# file: group_vars/all
common_software:
- git
- vim
- htop
- tmux
- iotop
- iftop
- ncdu
- dmidecode
client_software:
- gnuplot
handy_software:
- zsh
admin_software:
- ansible
- sshpass
- git
- rsync
- freeipa-admintools
- python-passlib
- nmap
- createrepo
- ansible-lint
- ansible-inventory-grapher
python_software:
- python3-scipy
- python3-matplotlib
# - anaconda3
client_software:
- kpcli
desktop_software:
- thunderbird
# - king/Clipboard
# - dagolden/Capture-Tiny
- firefox
- libreoffice
- bwSyncAndShare
ipaserver: las101.las.kit.edu
ipaserver2: las126.las.kit.edu
sudoer:
- bernhard
- gethmann
userinstall_vars:
- {name: "gethmann", password: "$6$HEmrpe9IMPI7nwxK$7VyjN.1tf/bJ2JJUeXQa.HEK3PFB1ggUVqpvMD0M/b/Ln.8QkzSMit9xukPaNhVg4caTnQBmcn1DXVwbfCmJt."}
- {name: "bernhard", password: "$6$Q9NiWWvweGVfXXUP$6jhQWNGEs1f/RZc2aeDJ4Wv7huT5eAyW/uO0hOr8Yzi.h5Sa149LDpzp6utQI2VbnKF6O7TfpZeoKHFaNKGY51"}
---
# file: group_vars/all/vars.yml
common_software:
- git
- vim
- tmux
# diagnostic for admins
- htop # processes
- iotop # disk IO
- iftop # network IO
- ncdu # nice disk usage
- dmidecode # general hardware information
- lm_sensors # cpu/gpu temperatures
- hddtemp # HDD temperatures
- policycoreutils-python-utils
client_software:
- gnuplot
- kpcli
admin_software:
- ansible
- sshpass
- git
- rsync
- freeipa-admintools
- python-passlib
- nmap
- createrepo
- ansible-lint
- ansible-inventory-grapher
- pandoc
desktop_software:
- thunderbird
- firefox
- libreoffice
- "https://download.bwsyncandshare.kit.edu/clients/bwSyncAndShare_Latest.x86_64.rpm"
- perl-Clipboard
- perl-Capture-Tiny
# this should be the IP or in the sshd_config the "UseDNS" must be set to yes
ansible_server: 129.13.238.126
# file: group_vars/all/vault.yml
sudoer: "{{ vault_sudoer }}"
userinstall_vars: "{{ vault_userinstall_vars }}"
admin_mail: "{{ vault_admin_mail }}"
rootkey: "{{ vault_rootkey }}"
# IPA
gid: "{{ vault_gid }}"
ipaserver1: "{{ vault_ipaserver1 }}"
ipaserver2: "{{ vault_ipaserver2 }}"
ipaserver3: "{{ vault_ipaserver3 }}"
ipa_users: "{{ vault_ipa_users }}"
This diff is collapsed.
---
primary_dhcpd: 129.13.108.101
secondary_dhcpd: 129.13.108.126
---
nfs_server: 129.13.238.126
texpath: /usr/share/texlive/texmf-local
kit_tikz:
- texlive-tikzpfeile
- texlive-tikz-feynman
- texlive-tikzmark
- texlive-tikzscale
- texlive-circuitikz
- texlive-tikzsymbols
- texlive-tikzinclude
- texlive-tikzposter
- texlive-tikz-palattice
- texlive-aobs-tikz
- texlive-tikz-3dplot
- texlive-tikz-timing
- texlive-hf-tikz
- texlive-tikzscale
- texlive-tikz-dependency
- texlive-pgfgantt
- texlive-venndiagram
- texlive-flowchart
- texlive-mycv
- texlive-pgf-spectra
texlivepackages:
- "texlive-scheme-small"
- kile
- texmaker
- texlive-epstopdf-bin
- texlive-quotmark
- texlive-hyphen-german
- texlive-babel-german
- texlive-pgfplots
- texlive-units
- texlive-mnsymbol
- texlive-pgfgantt
- texlive-pgf-umlcd
- texlive-pgf-umlsd
- texlive-prettyref
- texlive-faktor
- texlive-overpic
# Sphinx (Python docu)
- texlive-sidecap
- texlive-framed
- texlive-threeparttable
- texlive-wrapfig
- texlive-upquote
- texlive-capt-of
- texlive-multirow
- texlive-eqparbox
# fsphys/thesisvorlage-latex
- texlive-vmargin
- texlive-floatflt
- texlive-acronym
- texlive-mhchem
# KIT-{beamer,poster,brief}
- texlive-blindtext
# Bechleunigerphysik II Übung
- texlive-siunitx
- texlive-SIunits
- texlive-was
- texlive-commath
- texlive-ulem
# system docu
- texlive-draftwatermark
# JaCoW
- texlive-sttools
- texlive-boondox
- biber
- texlive-newtx
# biber dependencies
# gdbm-devel
# libdb-devel
# perl-Business-ISMN
# perl-Business-ISSN
# perl-Data-Compare
# perl-Data-Dump
# perl-Data-OptList
# perl-Date-Simple
# perl-Devel-GlobalDestruction
# perl-Dist-CheckConflicts
# perl-Email-Date-Format
# perl-Exporter-Tiny
# perl-ExtUtils-Command
# perl-ExtUtils-Install
# perl-ExtUtils-MakeMaker
# perl-ExtUtils-Manifest
# perl-ExtUtils-ParseXS
# perl-File-Find-Rule
# perl-File-Slurp
# perl-File-Slurp-Tiny
# perl-IPC-Cmd
# perl-IPC-Run3
# perl-LWP-Protocol-https
# perl-List-AllUtils
# perl-List-MoreUtils
# perl-Locale-Maketext
# perl-Locale-Maketext-Simple
# perl-Log-Dispatch
# perl-Log-Dispatch-FileRotate
# perl-Log-Log4perl
# perl-MIME-Charset
# perl-MIME-Lite
# perl-MIME-Types
# perl-Mail-Sender
# perl-Mail-Sendmail
# perl-MailTools
# perl-Module-Implementation
# perl-Module-Load
# perl-Module-Load-Conditional
# perl-Module-Metadata
# perl-Module-Runtime
# perl-Mozilla-CA
# perl-Net-SMTP-SSL
# perl-Number-Compare
# perl-Package-Generator
# perl-Params-Check
# perl-Params-Util
# perl-Params-Validate
# perl-Readonly
# perl-Regexp-Common
# perl-Sub-Exporter
# perl-Sub-Exporter-Progressive
# perl-Sub-Install
# perl-Sub-Name
# perl-Sys-Syslog
# perl-Text-BibTeX
# perl-Text-Glob
# perl-Tie-Cycle
# perl-Try-Tiny
# perl-Unicode-LineBreak
# perl-XML-LibXML
# perl-XML-LibXML-Simple
# perl-XML-LibXSLT
# perl-XML-NamespaceSupport
# perl-XML-SAX
# perl-XML-SAX-Base
# perl-XML-Writer
# perl-autovivification
# perl-devel
# rrdtool-perl
# sombok
# systemtap-sdt-devel
# Xe(La)TeX
- texlive-xetex
- texlive-collection-xetex
- texlive-xetex-def
- texlive-xetexfontinfo
- texlive-xevlna
- texlive-euenc
- texlive-unicode-math
- texlive-mathspec
- texlive-xgreek
- texlive-xecolor
- texlive-fontspec
# Thought to be usefull
- texlive-texlive-de-doc
- texlive-texlive-common-doc
- texlive-texlive-docindex-doc
- texlive-ae
- texlive-cm
- texlive-cv
- texlive-ec
- texlive-ed
- texlive-fp
- texlive-gu
- texlive-hc
- texlive-lm
- texlive-t2
- texlive-alg
- texlive-doi
- texlive-dox
- texlive-eco
- texlive-ecv
- texlive-emp
- texlive-esk
- texlive-fbs
- texlive-fmp
- texlive-gmp
- texlive-hep
- texlive-iso
- texlive-lcg
- texlive-lfb
- texlive-msg
- texlive-nag
- texlive-nuc
- texlive-ofs
- texlive-pax
- texlive-pgf
- texlive-qcm
- texlive-sfg
- texlive-svg
- texlive-svn
- texlive-tap
- texlive-ucs
- texlive-uml
- texlive-uri
- texlive-url
- texlive-vpe
- texlive-base
- texlive-abbr
- texlive-acro
- texlive-bohr
- texlive-cals
- texlive-circ
- texlive-cite
- texlive-cmap
- texlive-cmll
- texlive-cmpj
- texlive-cmsd
- texlive-cool
- texlive-crop
- texlive-dhua
- texlive-epsf
- texlive-etoc
- texlive-euro
- texlive-exam
- texlive-feyn
- texlive-fink
- texlive-mycv
- texlive-nath
- texlive-pbox
- texlive-pdfx
- texlive-spot
- texlive-tikz-palattice
- texlive-biblatex
- texlive-enumitem
- texlive-ctablestack
- texlive-gitinfo2
- texlive-fncychap # e. g. Sphinx
- latexmk # sphinx
- texlive-tabulary
- texlive-latexdiff
# - texlive-latexdiff-bin
- texlive-a4wide
# systemdocu
- texlive-koma-script
- texlive-ctablestack
- texlive-appendix # wissdoc.cls needs this
- texlive-bigints
- texlive-glossaries-english
- texlive-glossaries
# texlive-glossaries-english
# texlive-datatool
# texlive-glossaries-bin
# texlive-mfirstuc
# texlive-substr
# texlive-supertabular
# texlive-tracklang
# texlive-xfor
- texlive-standalone
# texlive-filemod
# texlive-gincltex
# to be continued
- texlive-cleveref
- texlive-fonttable
- texlive-tcolorbox
- texlive-appendixnumberbeamer
opera_path: /usr/local/share/Opera_18R2
---
python3pkg:
- bumpversion
- ptpython3
- python3
- python3-ipython
- python3-matplotlib-qt4
# - python3-matplotlib-qt5 # does not work: https://github.com/matplotlib/matplotlib/pull/6854
- python3-numpy
- python3-pandas
- python3-pip
- python3-pylint
- python3-scipy
- python3-setuptools
- python3-sphinx
- python3-tox
- python3-pip
- pipenv
- llvm
- cmake
- python3-flake8
- python3-Cython
- nodejs
- nodejs-libs
- kf5-purpose-twitter
- npm
python2pkg: ""
pip3bin: /bin/pip3
ansible_user: root
user_account: richter
ip_suffix: 118
loc: 620
os: Fedora 29
computer_name: amnesix
ansible_user: root
user_account: gethmann
ip_suffix: 73
loc: 618
os: Fedora 29
computer_name: asterix
extra_software:
- subversion # for ANKA software
- borgbackup
- mosh # ssh alternative
# keepass compatible console client
- kpcli
- perl-Clipboard
- perl-Capture-Tiny
- ctags # vim tags
- zsh
- neovim
- ShellCheck
- inkscape-table
# - fd-find
- ripgrep
- fzf # fuzzy finder
- gsl-devel # Needed to compile Eva Burkhards code
- mupdf # better alternative to pdftk than pdfseparate+pdfunite
- evince # for fixing RIP errors when printing LaTeX posters
- screen
# PDL for undulator/wiggler Opera script
- perl-PDL
# Installing dependencies:
- perl-Devel-Peek
- perl-Inline
- perl-Inline-C
- perl-Pegex
- freeglut
- perl-B-Utils
- perl-Class-Load
- perl-Class-Tiny
- perl-Data-Dump-Streamer
- perl-Devel-OverloadInfo
- perl-Devel-PartialDump
- perl-Devel-REPL
- perl-Devel-REPL-Plugin-Completion
- perl-Devel-REPL-Plugin-DDS
- perl-Devel-REPL-Plugin-LexEnv
- perl-Devel-REPL-Plugin-MultiLine-PPI
- perl-File-HomeDir
- perl-File-Map
- perl-Filter-Simple
- perl-Getopt-Long-Descriptive
- perl-IPC-System-Simple
- perl-Lexical-Persistence
- perl-Module-Compile
- perl-Module-Pluggable
- perl-Moose
- perl-MooseX-Getopt
- perl-MooseX-Object-Pluggable
- perl-MooseX-Role-Parameterized
- perl-OpenGL
- perl-PPI
- perl-Parse-RecDescent
- perl-PerlIO-Layers
- perl-Pod-Parser
- perl-Prima
- perl-Text-Balanced
- perl-YAML-LibYAML
- perl-autodie
# Installing weak dependencies:
- perl-Text-Bidi
# End of PDL
ansible_user: root
user_account: widmann
loc: 618
os: Fedora 28
computer_name: gutemine
extra_software:
- subversion # ANKA software
- zsh
ansible_user: root
user_account: damminsek
ip_suffix: 117
loc: 620
os: Fedora 27
computer_name: idefix
extra_software:
- mupdf
ansible_user: root
ansible_ssh_user: root
ansible_remote_user: gethmann
remote_user: gethmann
ip_suffix: 100
loc: 612
os: CentOS 7.4
computer_name: kantine
ansible_connection: local
ansible_user: gethmann
ansible_user: root
user_account: gethmann
ip_suffix: -gethmann
loc: 618
os: Fedora 28
extra_software:
- subversion # for ANKA software
- borgbackup
- mosh # ssh alternative
# keepass compatible console client
- kpcli
- perl-Clipboard
- perl-Capture-Tiny
- ctags # vim tags
- zsh
- neovim
- ShellCheck
- inkscape-table
- fd-find
- ripgrep
- fzf # fuzzy finder
ansible_user: root
ansible_ssh_user: root
ansible_remote_user: gethmann
remote_user: gethmann
ip_suffix: 101
loc: 612
os: Fedora 28
computer_name: Kneipix
# ansible_connection: local
ansible_user: root
user_account: petri
ip_suffix: 122
loc: 621
os: Fedora 26
computer_name: Falbala
extra_software:
- freecad
ansible_user: gethmann
user_account: bernhard
ip_suffix: 93
loc: -10.
os: ubuntu
ansible_user: bernhard
user_account: bernhard
ip_suffix: 127
loc: 622
os: Fedora 27
computer_name: majestix
ansible_user: root
user_account: gethmann
ip_suffix: 126
loc: 618
os: Fedora 29
computer_name: obelix
extra_software:
- borgbackup
ansible_user: root
user_account: ning
ip_suffix: 115
loc: 619
os: Fedora 29
computer_name: pepe
extra_software:
- python-qt5
- "qt5-qttools-devel"
# ansible_connection: local
ansible_user: root
user_account: rossmanith
ip_suffix: 116
loc: 619
os: Fedora 29
computer_name: spuernix
ansible_user: root
user_account: tong
ip_suffix: 120
loc: 621
os: Fedora 28
computer_name: teefax
# stable
[las-archiv1]
las113.las.kit.edu
las111.las.kit.edu
las93.las.kit.edu
las-gethmann.las.kit.edu
[clients]
gutemine.las.kit.edu
asterix.las.kit.edu
pepe.las.kit.edu
spuernix.las.kit.edu
idefix.las.kit.edu
amnesix.las.kit.edu
teefax.las.kit.edu
obelix.las.kit.edu
lysander.las.kit.edu
[desktop]
gutemine.las.kit.edu
asterix.las.kit.edu
pepe.las.kit.edu
spuernix.las.kit.edu
idefix.las.kit.edu
amnesix.las.kit.edu
teefax.las.kit.edu
lysander.las.kit.edu
[graphics]
asterix.las.kit.edu
lysander.las.kit.edu
amnesix.las.kit.edu
[lasarchiv]
asterix.las.kit.edu
pepe.las.kit.edu
idefix.las.kit.edu
amnesix.las.kit.edu
teefax.las.kit.edu
obelix.las.kit.edu
majestix.las.kit.edu
lysander.las.kit.edu
[python]
gutemine.las.kit.edu
asterix.las.kit.edu
pepe.las.kit.edu
idefix.las.kit.edu
amnesix.las.kit.edu
teefax.las.kit.edu
lysander.las.kit.edu
[kdev] # KDevelope
[jabref]
[zotero]
asterix.las.kit.edu
idefix.las.kit.edu
lysander.las.kit.edu
gutemine.las.kit.edu
[pynaff]
lysander.las.kit.edu
asterix.las.kit.edu
obelix.las.kit.edu
[pycharm]
lysander.las.kit.edu
asterix.las.kit.edu
pepe.las.kit.edu
idefix.las.kit.edu
[chrome]
lysander.las.kit.edu
[rdp]
gutemine.las.kit.edu
asterix.las.kit.edu
amnesix.las.kit.edu
[latex]
gutemine.las.kit.edu
lysander.las.kit.edu
asterix.las.kit.edu
pepe.las.kit.edu
idefix.las.kit.edu
amnesix.las.kit.edu
teefax.las.kit.edu
[opera]
las113.las.kit.edu
las114.las.kit.edu
las-bernhard.anka.kit.edu
las111.las.kit.edu
las118.las.kit.edu
las117.las.kit.edu
las126.las.kit.edu
las-gethmann.las.kit.edu
asterix.las.kit.edu
amnesix.las.kit.edu
idefix.las.kit.edu
obelix.las.kit.edu
majestix.las.kit.edu
[elegant]
las113.las.kit.edu
las117.las.kit.edu
las111.las.kit.edu
las126.las.kit.edu
las-gethmann.las.kit.edu
[mad8]
# depercated for Fedora >=26
[nfs-server]
obelix.las.kit.edu
# developement
[lab]
las93.las.kit.edu
# las93.las.kit.edu
[rpmbuild]
las113.las.kit.edu
las-gethmann.las.kit.edu
asterix.las.kit.edu
lysander.las.kit.edu
[clients]
las111.las.kit.edu
127.0.0.1
las114.las.kit.edu
las116.las.kit.edu
las118.las.kit.edu
las113.las.kit.edu
las93.las.kit.edu
las-gethmann.las.kit.edu
[elegant]
asterix.las.kit.edu ansible_python_interpreter=/usr/bin/python3
idefix.las.kit.edu ansible_python_interpreter=/usr/bin/python3
obelix.las.kit.edu ansible_python_interpreter=/usr/bin/python3
lysander.las.kit.edu ansible_python_interpreter=/usr/bin/python3
[desktop]
las111.las.kit.edu
las113.las.kit.edu
las114.las.kit.edu
las116.las.kit.edu
las118.las.kit.edu
las-gethmann.las.kit.edu
[epics]
gutemine.las.kit.edu
asterix.las.kit.edu
pepe.las.kit.edu
idefix.las.kit.edu
lysander.las.kit.edu
[ripgrep]
las101.las.kit.edu
asterix.las.kit.edu
lysander.las.kit.edu
[inovesa]
asterix.las.kit.edu
[ipynb] # Jupyter notebook
idefix.las.kit.edu
teefax.las.kit.edu
lysander.las.kit.edu
# semi stable
[scipy]
las114.las.kit.edu
las113.las.kit.edu
las111.las.kit.edu
las126.las.kit.edu
# testing
[alle]
las101.las.kit.edu
las111.las.kit.edu
las113.las.kit.edu
las114.las.kit.edu
las118.las.kit.edu
las126.las.kit.edu
las-bernhard.anka.kit.edu
[tgu]
pepe.las.kit.edu
[local]
127.0.0.1 ansible_connection=local
[admin-pcs]
las113.las.kit.edu
[admin_pcs]
las101.las.kit.edu
las-gethmann.las.kit.edu
asterix.las.kit.edu
lysander.las.kit.edu
[server]
las101.las.kit.edu
[cn]
las-bernhard.anka.kit.edu
[simulation]
las126.las.kit.edu
- hosts: inovesa
roles:
- inovesa
---
- hosts: all
vars:
vars_prompt:
- name: "ipa_admin_pass"
prompt: "What is IPA's admin password?"
private: yes
roles:
- ipa_users
- hosts: ipynb
roles:
- ipynb
- hosts: jabref
tasks:
- name: install Jabref
become: yes
dnf:
name: jabref
state: present
when: (ansible_distribution == "Fedora" and (ansible_distribution_major_version | int) <= 28)
- name: UNSUPPORTED
fail:
msg: Jabref is no longer maintained by Fedora! Use zotero instead.
- hosts: kdev
roles:
- kdev
---
- include: common.yml
- include: clients.yml
tags: client
- include: opera.yml
tags: opera
#- include: update.yml
# tags: update
- include: desktop.yml
- include: admin.yml
- include: latex.yml
tags: latex
- include: kdev.yml
- hosts: latex
roles:
- latex
- hosts: nfs-server
roles:
- nfs-server
tags: nfs-server
- hosts: lasarchiv
roles:
- lasarchiv
tags: nfs-clients
---
- hosts: opera
become: yes
roles:
- opera
tags: opera
- hosts: pycharm
roles:
- pycharm
- hosts: pynaff
roles:
- naff_cpp
- hosts: python
roles:
- python_stack
- hosts: rdp
roles:
- rdp
- hosts: ripgrep
roles:
- ripgrep
......@@ -41,7 +41,7 @@ ErrorPolicy stop-printer
UUID urn:uuid:c20b481d-848e-30e6-5eab-8ba9fb397809
Info Oki MC851(PS)
Location Library
DeviceURI dnssd://OKI-MC851-522EAD._pdl-datastream._tcp.local/
DeviceURI socket://oki.las.kit.edu/
State Idle
StateTime 1414591314
Type 8433756
......
---
- name: "Install basic client software"
apt: name={{ item }} state=latest
with_items: "{{ client_software }}"
apt:
name: "{{ client_software }}"
state: present
# with_items: "{{ client_software }}"
when: ansible_distribution == 'Ubuntu'
become: yes
- name: "Install basic client software"
dnf: name={{ item }} state=latest
with_items: "{{ client_software }}"
dnf:
name: "{{ client_software }}"
state: present
# with_items: "{{ client_software }}"
when: ansible_distribution == 'Fedora'
become: yes
---
- name: install CUPS
become: yes
dnf: name=cups state=latest
dnf:
name: cups
state: present
when: ansible_distribution == 'Fedora'
- name: install dependencies
become: yes
dnf:
name: ["hplip-common", "hplip"]
state: present
when: ansible_distribution == 'Fedora'
- name: install CUPS
become: yes
apt: name=cups state=latest
apt:
name: cups
state: present
when: ansible_distribution == 'Ubuntu'
become: yes
- name: copy CUPS' configs
become: yes
copy: src={{ item }} dest=/etc/cups backup=yes group=lp owner=root
copy:
src: "{{ item }}"
dest: /etc/cups
backup: yes
group: lp
owner: root
with_items:
- "printers.conf"
- "cupsd.conf"
......@@ -21,7 +35,13 @@
- name: copy PPD files
become: yes
copy: src=ppd/{{ item }} dest=/etc/cups/ppd backup=yes group=root owner=root mode=644
copy:
src: "ppd/{{ item }}"
dest: /etc/cups/ppd
backup: yes
group: root
owner: root
mode: 0644
notify: restart cups
with_items:
- "HP-LaserJet-P2015-Series.ppd"
......
---
- name: check
become: yes
blockinfile:
block: |
Section "ServerFlags"
Option "DontZap" "false"
EndSection
Section "InputClass"
Identifier "Keyboard Defaults"
MatchIsKeyboard "yes"
Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
path: /etc/X11/xorg.conf.d/10-enable-ctrl-alt-backspace
create: yes
backup: yes
state: present
tags: xorg
---
- include: cups.yml
- include: basic_software.yml
- import_tasks: cups.yml
tags: printer
- import_tasks: basic_software.yml
- import_tasks: kill_x.yml
- import_tasks: ms_fonts.yml
---
- name: install fonts
become: true
dnf:
name: https://kent.dl.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
state: installed
tags: fonts
when: ansible_distribution == "Fedora"
[commands]
# What kind of upgrade to perform:
# default = all available upgrades
# security = only the security upgrades
upgrade_type = security
random_sleep = 0
# To just receive updates use dnf-automatic-notifyonly.timer
# Whether updates should be downloaded when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
download_updates = yes
# Whether updates should be applied when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
apply_updates = yes
[emitters]
# Name to use for this system in messages that are emitted. Default is the
# hostname.
# system_name = my-host
# How to send messages. Valid options are stdio, email and motd. If
# emit_via includes stdio, messages will be sent to stdout; this is useful
# to have cron send the messages. If emit_via includes email, this
# program will send email itself according to the configured options.
# If emit_via includes motd, /etc/motd file will have the messages. if
# emit_via includes command_email, then messages will be send via a shell
# command compatible with sendmail.
# Default is email,stdio.
# If emit_via is None or left blank, no messages will be sent.
emit_via = stdio,motd
[email]