Merge "Ensure resolv.conf is a straight symlink"
diff --git a/linux/files/ovs_bridge b/linux/files/ovs_bridge
index 40acb04..f9bef19 100644
--- a/linux/files/ovs_bridge
+++ b/linux/files/ovs_bridge
@@ -1,6 +1,5 @@
 auto {{ bridge_name }}
 iface {{ bridge_name }} inet {{ bridge.get('proto', 'static' if bridge.address is defined else 'manual') }}
-ovs_type {{ bridge.get('ovs_bridge_type', 'OVSBridge') }}
 mtu {{ bridge.get('mtu', '1500') }}
 {%- if bridge.address is defined %}
 address {{ bridge.address }}
@@ -9,9 +8,3 @@
 {%- if bridge.gateway is defined %}
 gateway {{ bridge.gateway }}
 {%- endif %}
-{%- if bridge.ovs_options is defined %}
-ovs_options {{ bridge.ovs_options }}
-{%- endif %}
-{%- if bridge_ports %}
-ovs_ports {{ bridge_ports }}
-{%- endif %}
diff --git a/linux/meta/fluentd.yml b/linux/meta/fluentd.yml
index 90fa6d4..1a7d139 100644
--- a/linux/meta/fluentd.yml
+++ b/linux/meta/fluentd.yml
@@ -29,7 +29,16 @@
             label:
               - name: host
                 value: ${Hostname}
+          metric_hdd_errors_exclude:
+            tag: metric.hdd_errors
+            type: grep
+            # Regexp: https://regex101.com/r/ZRMX9j/3
+            exclude:
+              - name: Payload
+                regexp: (virDomainNetFind|libvirt|(At|De)tach(ing)?\ volume)
           metric_hdd_errors_parse:
+            require:
+              - metric_hdd_errors_exclude
             tag: metric.hdd_errors
             type: parser
             key_name: Payload
@@ -137,7 +146,16 @@
     label:
       default_metric:
         filter:
+          metric_hdd_errors_exclude:
+            tag: metric.hdd_errors
+            type: grep
+            # Regexp: https://regex101.com/r/ZRMX9j/3
+            exclude:
+              - name: Payload
+                regexp: (virDomainNetFind|libvirt|(At|De)tach(ing)?\ volume)
           metric_hdd_errors_parse:
+            require:
+              - metric_hdd_errors_exclude
             tag: metric.hdd_errors
             type: parser
             key_name: Payload
diff --git a/linux/network/hostname.sls b/linux/network/hostname.sls
index dd46586..7b9d342 100644
--- a/linux/network/hostname.sls
+++ b/linux/network/hostname.sls
@@ -1,7 +1,7 @@
 {%- from "linux/map.jinja" import network with context %}
 {%- if network.enabled %}
 
-{%- if grains.os_family in ['Arch', 'Debian'] %}
+  {%- if grains.os_family in ['Arch', 'Debian'] %}
 
 linux_hostname_file:
   file.managed:
@@ -14,23 +14,23 @@
   - watch_in:
     - cmd: linux_enforce_hostname
 
-{%- endif %}
+  {%- endif %}
 
-{# Change state to proper one, after releasing patch:
-   https://github.com/saltstack/salt/pull/45748/files/74599bbdfcf99f45d3a31296887097fade31cbf1
+  {%- if grains['saltversioninfo'] >= [2019, 2] %}
 linux_enforce_hostname:
   network.system:
     - enabled: True
     - hostname: {{ network.hostname }}
     - apply_hostname: True
     - retain_settings: True
-#}
+  {%- else %}
 linux_enforce_hostname:
   cmd.run:
   - name: hostname {{ network.hostname }}
   - unless: test "$(hostname)" = "{{ network.hostname }}"
-  {%- if grains.get('noservices') %}
+    {%- if grains.get('noservices') %}
   - onlyif: /bin/false
+    {%- endif %}
   {%- endif %}
 
 {%- endif %}
diff --git a/linux/network/interface.sls b/linux/network/interface.sls
index 4794a51..771bd5e 100644
--- a/linux/network/interface.sls
+++ b/linux/network/interface.sls
@@ -95,8 +95,6 @@
   openvswitch_bridge.present:
   - name: {{ interface_name }}
 
-{%- set ovs_ports = [] %}
-
 {# add linux network interface into OVS bridge #}
 {%- for int_name, int in network.interface.items() %}
 
@@ -110,10 +108,6 @@
     - name: ovs-vsctl{%- if network.ovs_nowait %} --no-wait{%- endif %} add-port {{ interface_name }} {{ int_name }}
 {%- endif %}
 
-{%- if int.bridge is defined and interface_name == int.bridge %}
-{%-   do ovs_ports.append(int_name) %}
-{%- endif %}
-
 {%- endfor %}
 
 linux_interfaces_include_{{ interface_name }}:
@@ -132,7 +126,6 @@
   - defaults:
       bridge: {{ interface|yaml }}
       bridge_name: {{ interface_name }}
-      bridge_ports: {{ " ".join(ovs_ports) }}
   - template: jinja
 
 ovs_bridge_up_{{ interface_name }}:
diff --git a/linux/storage/loopback.sls b/linux/storage/loopback.sls
index 883b02e..9511d0f 100644
--- a/linux/storage/loopback.sls
+++ b/linux/storage/loopback.sls
@@ -30,7 +30,7 @@
   - template: jinja
   - defaults:
     file: {{ loopback.file }}
-    device_name: "/dev/loop{{ loop.index0 }}"
+    device_name: "/dev/{{ device }}"
 
 setup-loopback-{{ device }}:
   service.running: