Ansible: mysql Abfrage

Möchte man mittels Ansible z.B. in eine Datenbank einen Wert hinzufügen, jedoch nur, wenn dieser noch nicht besteht, kann man das mittels einer Vorherigen SQL-Abfrage machen:

- name:             "Get setting: myName"
  command:           mysql --defaults-file=/root/.my.cnf myDatabase -Ns -e "select value from settings where name='myName';"
  register:          setting_myName
  changed_when:      setting_myName.stdout != "12345"

- debug:             msg="{{ setting_myName.stdout }}"
 

- name:             "Insert setting into database"
  mysql_db:
    login_host:     "myDBhost"
    login_user:     "myDBuser"
    login_password: "myDBPass"
    name:           "myDatabase"
    state:          "import"
    target:         "/tmp/set_setting_myName.sql"
  when:             setting_myName.stdout != "12345"

Zuerst holt man sich den Wert aus der Datenbanktabelle und ändert diesen nur, wenn er noch nicht da steht (when: setting_myName.stdout != „12345“).

Quellen

ESX 6.5: CIM Secure Server läuft nicht

Nach dem Upgrade auf ESX 6.5 schlägt die Verbindung zum „CIM Secure Server“ fehl, etwa wenn man das excellente Hardware Check Script check_esxi_hardware.py benutzt:

check_esxi_hardware.py -H esx-server -U monitor -P xxxxxx -v
20180105 19:48:09 Connection to https://esx-server
20180105 19:48:09 Check classe OMC_SMASHFirmwareIdentity
CRITICAL: (0, 'Socket error: [Errno 111] Connection refused')

Prüft man das dann bei den ESX-Einstellungen („Sicherheitsprofil“), ist der „CIM Secure Server“ gestoppt. Auch nachdem er gestartet wurde, stoppt er gleich wieder (Hinweis: man muss immer „refresh“ klicken um die Status Änderung zu sehen).

Auf der Konsole lautet der entsprechende Befehl:
/etc/init.d/sfcbd-watchdog

Zwar schlägt auch damit das starten fehl, doch hier sieht man einen wichtigen Hinweis:

[root@esx-server:~] /etc/init.d/sfcbd-watchdog start
sfcbd-init: Getting Exclusive access, please wait...
sfcbd-init: Exclusive access granted.
sfcbd-init: Request to start sfcbd-watchdog, pid 70492
sfcbd-config[70502]: No third party cim providers installed
sfcbd-init: sfcbd not started, administratively disabled.

Die letzte Zeile: sfcbd-init: sfcbd not started, administratively disabled. liefert hierfür den Grund, dass es noch eine Art Beschränkung gibt, die man im GUI nicht einstellen kann.

Und zwar das sogenannte „Web-Based Enterprise Management (WBEM)“, welches mit ESX 6.5 eingeführt wurde.

Dies kann man nun mit: esxcli system wbem get überprüfen:

[root@esx-server:~] esxcli system wbem get
   Authorization Model: password
   Enabled: false
   Loglevel: warning
   Port: 5989
   WSManagement Service: true

Und dann gleich mit: esxcli system wbem set --enable true aktivieren:

[root@esx-server:~] esxcli system wbem set --enable true
 
[root@esx-server:~] esxcli system wbem get
   Authorization Model: password
   Enabled: true
   Loglevel: warning
   Port: 5989
   WSManagement Service: true
 
[root@esx-server:~] /etc/init.d/sfcbd-watchdog status
sfcbd is running

Sobald dies getan ist, funktioniert der Zugriff wieder!

Read-Only User

Wenn man den Zugriff nicht mit dem root User machen möchte und stattdessen einen „read-only“ Benutzer (z.B. „monitor“) machen möchte, muss dieser trotzdem (und immer noch) in der root Gruppe sein, ansonsten erhält man folgende Fehlermeldung:

./check_esxi_hardware.py -H esx-server -U monitor -P xxxxxx -v
  Connection to https://esx-server
  Check classe OMC_SMASHFirmwareIdentity
  Global exit set to UNKNOWN

Dies kann man auch nicht am GUI machen, sondern muss die Datei /etc/group editieren:

root:x:0:root,monitor

Weitere Links

UniFi Controller mit Geräten in verschiedenen Netzwerken

Mit WLAN AccessPoints „der Enterprise Klasse zum Privatkunden Preis“ hat Ubiquiti Networks sich einen Namen gemacht. Mittlerweile gibt es aber auch sehr gute Switches und Netzwerkkameras der Firma.
Diese haben jedoch alles gemeinsam: Sie werden von einer zentralen Software, dem UniFi Controller verwaltet. Standarmässig finden die Geräte den Controller jedoch nur, wenn sie im selben Netzwerk sind. So müsste man für jedes Netzwerk (z.B. remote Standort) einen separaten Controller installieren. Doch es gibt Abhilfe.
Continue reading UniFi Controller mit Geräten in verschiedenen Netzwerken

Backup auf S3 Storage mit Duplicity/Duply

Der Amazon (AWS) S3 Speicher wird gerne als unkompliziertes Backup für seine Daten verwendet.
Allerdings sollte dann -da die Daten auf fremden Servern gespeichert sind- auf jeden Fall verschlüsselt erfolgen.
Mit Duply, welches ein Wrapper für Duplicity ist geht das ganz einfach.

Continue reading Backup auf S3 Storage mit Duplicity/Duply

SSL request erstellen

Um von einem Zertifizierten Anbieter ein SSL Zertifikat signieren zu lassen, muss man zuerst einen Schlüssel (key) und einen sogenannten Certificate Signing Request (CSR) erstellen.

Dies geht für eine einzelne Domain und auch für mehrere. Bei mehreren Domains im selben Zertifikat spricht man von einem SAN (Subject Alternative Name) Zertifikat.
Continue reading SSL request erstellen

JIRA: Unknown system variable ‚default_storage_engine‘

Beim installieren einer neuen JIRA-Instanz bekommt man während dem Web-Setup die Fehlermeldung:

Unknown system variable 'default_storage_engine'

Continue reading JIRA: Unknown system variable ‚default_storage_engine‘