Page MenuHomeDevCentral

D3986.id10416.diff
No OneTemporary

D3986.id10416.diff

diff --git a/_modules/node.py b/_modules/node.py
--- a/_modules/node.py
+++ b/_modules/node.py
@@ -521,6 +521,7 @@
# even with OrderedDict
entry = OrderedDict()
entry["device"] = device
+ entry["interface_name"] = interface_name
entry["vhid"] = fhrp["id"]
entry["vip"] = fhrp["vip"]
entry["advskew"] = fhrp.get("advskew", 0)
diff --git a/_tests/data/forests.yaml b/_tests/data/forests.yaml
--- a/_tests/data/forests.yaml
+++ b/_tests/data/forests.yaml
@@ -11,7 +11,7 @@
- treecity
network:
interfaces:
- net01:
+ public:
device: net01
ipv4:
address: 1.2.3.4 #public
@@ -21,7 +21,7 @@
id: 1
vip: 1.2.3.10
advskew: 0
- net02:
+ intranought:
device: net02
ipv4:
address: 172.27.27.4 #private
diff --git a/_tests/modules/test_node.py b/_tests/modules/test_node.py
--- a/_tests/modules/test_node.py
+++ b/_tests/modules/test_node.py
@@ -150,6 +150,7 @@
expected = [
{
"device": "net01",
+ "interface_name": "public",
"vhid": 1,
"vip": "1.2.3.10",
"advskew": 0,
diff --git a/pillar/credentials/vault.sls b/pillar/credentials/vault.sls
--- a/pillar/credentials/vault.sls
+++ b/pillar/credentials/vault.sls
@@ -250,6 +250,10 @@
reports:
- ops/secrets/nasqueron/rhyne-wyse/vault
+ router:
+ - ops/secrets/network/carp/1
+ - ops/secrets/network/carp/2
+
saas-mediawiki:
- ops/secrets/dbserver/cluster-B/users/saas-mediawiki
- ops/secrets/dbserver/cluster-B/users/saas-mw-deploy
diff --git a/roles/router/carp/files/carp.rc b/roles/router/carp/files/carp.rc
new file mode 100644
--- /dev/null
+++ b/roles/router/carp/files/carp.rc
@@ -0,0 +1,23 @@
+# -------------------------------------------------------------
+# Network — rc configuration
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: Trivial work, not eligible to copyright
+# Source file: roles/router/carp/files/carp.rc
+# -------------------------------------------------------------
+#
+# <auto-generated>
+# This file is managed by our rOPS SaltStack repository.
+#
+# Changes to this file may cause incorrect behavior
+# and will be lost if the state is redeployed.
+# </auto-generated>
+
+{% for entry in carp_entries %}
+
+{% set carp_pass = salt['credentials.get_password']('network/carp/' ~ entry.vhid) %}
+{% set prefix = 27 if entry.interface_name == 'intranought' else 32 %}
+
+ifconfig_{{ entry.device }}_alias0="inet vhid {{ entry.vhid }} advskew {{ entry.advskew }} pass {{ carp_pass }} alias {{ entry.vip }}/{{ prefix }}"
+
+{% endfor %}
diff --git a/roles/router/carp/init.sls b/roles/router/carp/init.sls
new file mode 100644
--- /dev/null
+++ b/roles/router/carp/init.sls
@@ -0,0 +1,14 @@
+# -------------------------------------------------------------
+# Salt — Router — CARP
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+/etc/rc.conf.d/netif/carp:
+ file.managed:
+ - source: salt://roles/router/carp/files/carp.rc
+ - template: jinja
+ - context:
+ carp_entries: {{ salt['node.get_carp_entries']() }}
+ - mode: '0644'
diff --git a/roles/router/init.sls b/roles/router/init.sls
new file mode 100644
--- /dev/null
+++ b/roles/router/init.sls
@@ -0,0 +1,9 @@
+# -------------------------------------------------------------
+# Salt — Router
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: Trivial work, not eligible to copyright
+# -------------------------------------------------------------
+
+include:
+ - .carp
diff --git a/top.sls b/top.sls
--- a/top.sls
+++ b/top.sls
@@ -56,6 +56,10 @@
- roles/mailserver
- roles/webserver-core
- roles/webserver-alkane
+ 'router-002':
+ - roles/router
+ 'router-003':
+ - roles/router
'web-001':
- roles/webserver-core
- roles/webserver-alkane

File Metadata

Mime Type
text/plain
Expires
Mon, Mar 16, 05:12 (4 h, 1 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3532761
Default Alt Text
D3986.id10416.diff (4 KB)

Event Timeline