Select Git revision
      
  questiontestdelete.php
  repo.sls  2.11 KiB 
include:
  - .config
{% from tpldir ~ "/map.jinja" import mysql with context %}
# Completely ignore non-RHEL based systems
# TODO: Add Debian and Suse systems.
# TODO: Allow user to specify MySQL version and alter yum repo file accordingly.
{% if grains['os_family'] == 'RedHat' and 'osmajorrelease' in grains %}
  {% if grains['osmajorrelease']|int == 5 %}
  {% set rpm_source = "http://repo.mysql.com/mysql57-community-release-el5.rpm" %}
  {% elif grains['osmajorrelease']|int == 6 %}
  {% set rpm_source = "http://repo.mysql.com/mysql57-community-release-el6.rpm" %}
  {% elif grains['osmajorrelease']|int == 7 %}
  {% set rpm_source = "http://repo.mysql.com/mysql57-community-release-el7.rpm" %}
  {% endif %}
{% endif %}
{% set mysql57_community_release = salt['pillar.get']('mysql:release', false) %}
# A lookup table for MySQL Repo GPG keys & RPM URLs for various RedHat releases
  {% set pkg = {
    'key': 'http://repo.mysql.com/RPM-GPG-KEY-mysql',
    'key_hash': 'md5=162ec8cb41add661b357e926a083b0cc',
    'rpm': rpm_source
 } %}
install_pubkey_mysql:
  file.managed:
    - name: /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
    - source: {{ salt['pillar.get']('mysql:pubkey', pkg.key) }}
    - source_hash:  {{ salt['pillar.get']('mysql:pubkey_hash', pkg.key_hash) }}
mysql57_community_release:
  pkg.installed:
    - sources:
      - mysql57-community-release: {{ salt['pillar.get']('mysql:repo_rpm', pkg.rpm) }}
    - require:
      - file: install_pubkey_mysql
    - require_in:
      {% if "server_config" in mysql %}
      - pkg: {{ mysql.serverpkg }}
      {% endif %}
      {% if "clients_config" in mysql %}
      - pkg: {{ mysql.clientpkg }}
      {% endif %}
set_pubkey_mysql:
  file.replace:
    - append_if_not_found: True
    - name: /etc/yum.repos.d/mysql-community.repo
    - pattern: '^gpgkey=.*'
    - repl: 'gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql'
    - require:
      - pkg: mysql57_community_release
set_gpg_mysql:
  file.replace:
    - append_if_not_found: True
    - name: /etc/yum.repos.d/mysql-community.repo
    - pattern: 'gpgcheck=.*'
    - repl: 'gpgcheck=1'
    - require:
      - pkg: mysql57_community_release