[SUCS Devel] [Git][sucs/sucs][master] 5 commits: move dns config out of a playbook into a var file so it can more easily be inclu…

Imran Hussain imranh at sucs.org
Sun Jan 15 11:08:25 GMT 2017


Imran Hussain pushed to branch master at sucs / SUCS


Commits:
25a2a4a2 by Imran Hussain at 2017-01-15T10:36:39+00:00
move dns config out of a playbook into a var file so it can more easily be included in other playbooks if needed

- - - - -
f9567e7e by Imran Hussain at 2017-01-15T10:59:47+00:00
Add a role to setup ups monitoring & power control.

There are no configurable variables in this role (yet)

Hosts will shutdown when ups reaches 15% remaining capacity or 7 minutes remaining runtime.

- - - - -
1af8c9fd by Imran Hussain at 2017-01-15T11:03:03+00:00
Remove the letsencrypt role from the sucs repo.

I don't update it here, going to include it from github.com/imranh2/ansible via gitsubmodules

- - - - -
636e25fd by Imran Hussain at 2017-01-15T11:08:13+00:00
As much as I hate yaml2, rewrite stuff so it's valid yaml and not ansible shorthand

- - - - -
e16bc866 by Imran Hussain at 2017-01-15T11:10:24+00:00
Remove old cruft and apache2 role that wouldn't have worked anyway

- - - - -


13 changed files:

- − ansible/roles/apache2/handlers/main.yml
- − ansible/roles/apache2/tasks/debian.yml
- − ansible/roles/apache2/tasks/main.yml
- ansible/roles/common/handlers/main.yml
- ansible/roles/common/tasks/debian_jessie.yml
- − ansible/roles/letsencrypt/handlers/main.yml
- − ansible/roles/letsencrypt/tasks/debian.yml
- − ansible/roles/letsencrypt/tasks/main.yml
- + ansible/roles/ups-backed/handlers/main.yml
- + ansible/roles/ups-backed/tasks/main.yml
- + ansible/roles/ups-backed/templates/apcupsd.conf.j2
- + ansible/roles/ups-backed/templates/apcupsd.j2
- ansible/dns-servers.yml → ansible/vars/sucs-dns.yml


Changes:

=====================================
ansible/roles/apache2/handlers/main.yml deleted
=====================================
--- a/ansible/roles/apache2/handlers/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-- name: reload apache2
-  service: name=apache2 state=reloaded


=====================================
ansible/roles/apache2/tasks/debian.yml deleted
=====================================
--- a/ansible/roles/apache2/tasks/debian.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-- name: install stuff
-  apt: pkg={{ item }} state=installed
-    with_items:
-        - apache2


=====================================
ansible/roles/apache2/tasks/main.yml deleted
=====================================
--- a/ansible/roles/apache2/tasks/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-- include: debian.yml
-  when: ansible_os_family == "Debian"


=====================================
ansible/roles/common/handlers/main.yml
=====================================
--- a/ansible/roles/common/handlers/main.yml
+++ b/ansible/roles/common/handlers/main.yml
@@ -1,5 +1,3 @@
 - name: refresh apt
-  apt: update_cache=yes
-
-- name: reload apache
-  service: name=httpd state=reloaded
+  apt:
+    update_cache: yes
\ No newline at end of file


=====================================
ansible/roles/common/tasks/debian_jessie.yml
=====================================
--- a/ansible/roles/common/tasks/debian_jessie.yml
+++ b/ansible/roles/common/tasks/debian_jessie.yml
@@ -1,11 +1,17 @@
 - name: Enable contrib and non free for main (jessie)
-  apt_repository: repo='deb http://httpredir.debian.org/debian/ jessie main contrib non-free' state=present
+  apt_repository:
+    repo: "deb http://httpredir.debian.org/debian/ jessie main contrib non-free"
+    state: present
   notify: refresh apt
 
 - name: Enable contrib and non free for security updates (jessie)
-  apt_repository: repo='deb http://security.debian.org/ jessie/updates main contrib non-free' state=present
+  apt_repository:
+    repo: "deb http://security.debian.org/ jessie/updates main contrib non-free"
+    state: present
   notify: refresh apt
 
 - name: Enable contrib and non free for jessie-updates (jessie)
-  apt_repository: repo='deb http://httpredir.debian.org/debian/ jessie-updates main contrib non-free' state=present
+  apt_repository:
+    repo: "deb http://httpredir.debian.org/debian/ jessie-updates main contrib non-free"
+    state: present
   notify: refresh apt
\ No newline at end of file


=====================================
ansible/roles/letsencrypt/handlers/main.yml deleted
=====================================
--- a/ansible/roles/letsencrypt/handlers/main.yml
+++ /dev/null
@@ -1,2 +0,0 @@
-- name: reload apache2
-  service: name=apache2 state=reloaded


=====================================
ansible/roles/letsencrypt/tasks/debian.yml deleted
=====================================
--- a/ansible/roles/letsencrypt/tasks/debian.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-- name: install stuff
-  apt: pkg={{ item }} state=installed
-  with_items:
-    - ca-certificates
-
-- name: add jessie-backports
-  apt_repository: repo='deb http://httpredir.debian.org/debian/ jessie-backports main' state=present
-  when: ansible_os_family == "Debian" and ansible_distribution_release == "jessie"
-
-- name: install stuff we need from backports
-  apt: pkg={{ item }} default_release=jessie-backports state=installed
-  with_items:
-    - certbot
\ No newline at end of file


=====================================
ansible/roles/letsencrypt/tasks/main.yml deleted
=====================================
--- a/ansible/roles/letsencrypt/tasks/main.yml
+++ /dev/null
@@ -1,10 +0,0 @@
-- include: debian.yml
-  when: ansible_os_family == "Debian"
-  
-- name: do we already have a cert?
-  stat: path=/etc/letsencrypt/live/{{ le_cert_domains[0] }}/fullchain.pem
-  register: le_firstrun
-      
-- name: No cert found! Attempt to get the certificate
-  command: "certbot --keep --expand --non-interactive --agree-tos --email {{ le_email }} certonly --webroot -w {{ le_webroot_path }} -d {{ le_cert_domains | join(',') }}"
-  when: le_firstrun.stat.exists == False
\ No newline at end of file


=====================================
ansible/roles/ups-backed/handlers/main.yml
=====================================
--- /dev/null
+++ b/ansible/roles/ups-backed/handlers/main.yml
@@ -0,0 +1,4 @@
+- name: restart apcupsd
+  service:
+    name: apcupsd
+    state: restarted
\ No newline at end of file


=====================================
ansible/roles/ups-backed/tasks/main.yml
=====================================
--- /dev/null
+++ b/ansible/roles/ups-backed/tasks/main.yml
@@ -0,0 +1,18 @@
+- name: install apcupsd
+  apt:
+    pkg: {{ item }}
+    state: installed
+  with_items:
+    - apcupsd
+
+- name: configure apcupsd
+  template:
+    src: apcupsd.conf.j2
+    dest: /etc/apcupsd/apcupsd.conf
+  notify: restart apcupsd
+
+- name: enable apcupsd
+  template:
+    src: apcupsd.j2
+    dest: /etc/default/apcupsd
+  notify: restart acpupsd
\ No newline at end of file


=====================================
ansible/roles/ups-backed/templates/apcupsd.conf.j2
=====================================
--- /dev/null
+++ b/ansible/roles/ups-backed/templates/apcupsd.conf.j2
@@ -0,0 +1,332 @@
+## apcupsd.conf v1.1 ##
+# 
+#  for apcupsd release 3.14.12 (29 March 2014) - debian
+#
+# "apcupsd" POSIX config file
+
+#
+# ========= General configuration parameters ============
+#
+
+# UPSNAME xxx
+#   Use this to give your UPS a name in log files and such. This
+#   is particulary useful if you have multiple UPSes. This does not
+#   set the EEPROM. It should be 8 characters or less.
+#UPSNAME
+
+# UPSCABLE <cable>
+#   Defines the type of cable connecting the UPS to your computer.
+#
+#   Possible generic choices for <cable> are:
+#     simple, smart, ether, usb
+#
+#   Or a specific cable model number may be used:
+#     940-0119A, 940-0127A, 940-0128A, 940-0020B,
+#     940-0020C, 940-0023A, 940-0024B, 940-0024C,
+#     940-1524C, 940-0024G, 940-0095A, 940-0095B,
+#     940-0095C, 940-0625A, M-04-02-2000
+#
+UPSCABLE ether
+
+# To get apcupsd to work, in addition to defining the cable
+# above, you must also define a UPSTYPE, which corresponds to
+# the type of UPS you have (see the Description for more details).
+# You must also specify a DEVICE, sometimes referred to as a port.
+# For USB UPSes, please leave the DEVICE directive blank. For
+# other UPS types, you must specify an appropriate port or address.
+#
+# UPSTYPE   DEVICE           Description
+# apcsmart  /dev/tty**       Newer serial character device, appropriate for 
+#                            SmartUPS models using a serial cable (not USB).
+#
+# usb       <BLANK>          Most new UPSes are USB. A blank DEVICE
+#                            setting enables autodetection, which is
+#                            the best choice for most installations.
+#
+# net       hostname:port    Network link to a master apcupsd through apcupsd's 
+#                            Network Information Server. This is used if the
+#                            UPS powering your computer is connected to a 
+#                            different computer for monitoring.
+#
+# snmp      hostname:port:vendor:community
+#                            SNMP network link to an SNMP-enabled UPS device.
+#                            Hostname is the ip address or hostname of the UPS 
+#                            on the network. Vendor can be can be "APC" or 
+#                            "APC_NOTRAP". "APC_NOTRAP" will disable SNMP trap 
+#                            catching; you usually want "APC". Port is usually 
+#                            161. Community is usually "private".
+#
+# netsnmp   hostname:port:vendor:community
+#                            OBSOLETE
+#                            Same as SNMP above but requires use of the 
+#                            net-snmp library. Unless you have a specific need
+#                            for this old driver, you should use 'snmp' instead.
+#
+# dumb      /dev/tty**       Old serial character device for use with 
+#                            simple-signaling UPSes.
+#
+# pcnet     ipaddr:username:passphrase:port
+#                            PowerChute Network Shutdown protocol which can be 
+#                            used as an alternative to SNMP with the AP9617 
+#                            family of smart slot cards. ipaddr is the IP 
+#                            address of the UPS management card. username and 
+#                            passphrase are the credentials for which the card 
+#                            has been configured. port is the port number on 
+#                            which to listen for messages from the UPS, normally 
+#                            3052. If this parameter is empty or missing, the 
+#                            default of 3052 will be used.
+#
+# modbus    /dev/tty**       Serial device for use with newest SmartUPS models
+#                            supporting the MODBUS protocol.
+#
+UPSTYPE snmp
+DEVICE 137.44.10.5:161:APC:upsman
+
+# POLLTIME <int>
+#   Interval (in seconds) at which apcupsd polls the UPS for status. This
+#   setting applies both to directly-attached UPSes (UPSTYPE apcsmart, usb, 
+#   dumb) and networked UPSes (UPSTYPE net, snmp). Lowering this setting
+#   will improve apcupsd's responsiveness to certain events at the cost of
+#   higher CPU utilization. The default of 60 is appropriate for most
+#   situations.
+#POLLTIME 60
+
+# LOCKFILE <path to lockfile>
+#   Path for device lock file. Not used on Win32.
+LOCKFILE /var/lock
+
+# SCRIPTDIR <path to script directory>
+#   Directory in which apccontrol and event scripts are located.
+SCRIPTDIR /etc/apcupsd
+
+# PWRFAILDIR <path to powerfail directory>
+#   Directory in which to write the powerfail flag file. This file
+#   is created when apcupsd initiates a system shutdown and is
+#   checked in the OS halt scripts to determine if a killpower
+#   (turning off UPS output power) is required.
+PWRFAILDIR /etc/apcupsd
+
+# NOLOGINDIR <path to nologin directory>
+#   Directory in which to write the nologin file. The existence
+#   of this flag file tells the OS to disallow new logins.
+NOLOGINDIR /etc
+
+
+#
+# ======== Configuration parameters used during power failures ==========
+#
+
+# The ONBATTERYDELAY is the time in seconds from when a power failure
+#   is detected until we react to it with an onbattery event.
+#
+#   This means that, apccontrol will be called with the powerout argument
+#   immediately when a power failure is detected.  However, the
+#   onbattery argument is passed to apccontrol only after the 
+#   ONBATTERYDELAY time.  If you don't want to be annoyed by short
+#   powerfailures, make sure that apccontrol powerout does nothing
+#   i.e. comment out the wall.
+ONBATTERYDELAY 6
+
+# 
+# Note: BATTERYLEVEL, MINUTES, and TIMEOUT work in conjunction, so
+# the first that occurs will cause the initation of a shutdown.
+#
+
+# If during a power failure, the remaining battery percentage
+# (as reported by the UPS) is below or equal to BATTERYLEVEL, 
+# apcupsd will initiate a system shutdown.
+BATTERYLEVEL 15
+
+# If during a power failure, the remaining runtime in minutes 
+# (as calculated internally by the UPS) is below or equal to MINUTES,
+# apcupsd, will initiate a system shutdown.
+MINUTES 7
+
+# If during a power failure, the UPS has run on batteries for TIMEOUT
+# many seconds or longer, apcupsd will initiate a system shutdown.
+# A value of 0 disables this timer.
+#
+#  Note, if you have a Smart UPS, you will most likely want to disable
+#    this timer by setting it to zero. That way, you UPS will continue
+#    on batteries until either the % charge remaing drops to or below BATTERYLEVEL,
+#    or the remaining battery runtime drops to or below MINUTES.  Of course,
+#    if you are testing, setting this to 60 causes a quick system shutdown
+#    if you pull the power plug.   
+#  If you have an older dumb UPS, you will want to set this to less than
+#    the time you know you can run on batteries.
+TIMEOUT 0
+
+#  Time in seconds between annoying users to signoff prior to
+#  system shutdown. 0 disables.
+ANNOY 300
+
+# Initial delay after power failure before warning users to get
+# off the system.
+ANNOYDELAY 60
+
+# The condition which determines when users are prevented from
+# logging in during a power failure.
+# NOLOGON <string> [ disable | timeout | percent | minutes | always ]
+NOLOGON disable
+
+# If KILLDELAY is non-zero, apcupsd will continue running after a
+# shutdown has been requested, and after the specified time in
+# seconds attempt to kill the power. This is for use on systems
+# where apcupsd cannot regain control after a shutdown.
+# KILLDELAY <seconds>  0 disables
+KILLDELAY 0
+
+#
+# ==== Configuration statements for Network Information Server ====
+#
+
+# NETSERVER [ on | off ] on enables, off disables the network
+#  information server. If netstatus is on, a network information
+#  server process will be started for serving the STATUS and
+#  EVENT data over the network (used by CGI programs).
+NETSERVER on
+
+# NISIP <dotted notation ip address>
+#  IP address on which NIS server will listen for incoming connections.
+#  This is useful if your server is multi-homed (has more than one
+#  network interface and IP address). Default value is 0.0.0.0 which
+#  means any incoming request will be serviced. Alternatively, you can
+#  configure this setting to any specific IP address of your server and 
+#  NIS will listen for connections only on that interface. Use the
+#  loopback address (127.0.0.1) to accept connections only from the
+#  local machine.
+NISIP 127.0.0.1
+
+# NISPORT <port> default is 3551 as registered with the IANA
+#  port to use for sending STATUS and EVENTS data over the network.
+#  It is not used unless NETSERVER is on. If you change this port,
+#  you will need to change the corresponding value in the cgi directory
+#  and rebuild the cgi programs.
+NISPORT 3551
+
+# If you want the last few EVENTS to be available over the network
+# by the network information server, you must define an EVENTSFILE.
+EVENTSFILE /var/log/apcupsd.events
+
+# EVENTSFILEMAX <kilobytes>
+#  By default, the size of the EVENTSFILE will be not be allowed to exceed
+#  10 kilobytes.  When the file grows beyond this limit, older EVENTS will
+#  be removed from the beginning of the file (first in first out).  The
+#  parameter EVENTSFILEMAX can be set to a different kilobyte value, or set
+#  to zero to allow the EVENTSFILE to grow without limit.
+EVENTSFILEMAX 10
+
+#
+# ========== Configuration statements used if sharing =============
+#            a UPS with more than one machine
+
+#
+# Remaining items are for ShareUPS (APC expansion card) ONLY
+#
+
+# UPSCLASS [ standalone | shareslave | sharemaster ]
+#   Normally standalone unless you share an UPS using an APC ShareUPS
+#   card.
+UPSCLASS standalone
+
+# UPSMODE [ disable | share ]
+#   Normally disable unless you share an UPS using an APC ShareUPS card.
+UPSMODE disable
+
+#
+# ===== Configuration statements to control apcupsd system logging ========
+#
+
+# Time interval in seconds between writing the STATUS file; 0 disables
+STATTIME 0
+
+# Location of STATUS file (written to only if STATTIME is non-zero)
+STATFILE /var/log/apcupsd.status
+
+# LOGSTATS [ on | off ] on enables, off disables
+# Note! This generates a lot of output, so if         
+#       you turn this on, be sure that the
+#       file defined in syslog.conf for LOG_NOTICE is a named pipe.
+#  You probably do not want this on.
+LOGSTATS off
+
+# Time interval in seconds between writing the DATA records to
+#   the log file. 0 disables.
+DATATIME 0
+
+# FACILITY defines the logging facility (class) for logging to syslog. 
+#          If not specified, it defaults to "daemon". This is useful 
+#          if you want to separate the data logged by apcupsd from other
+#          programs.
+#FACILITY DAEMON
+
+#
+# ========== Configuration statements used in updating the UPS EPROM =========
+#
+
+#
+# These statements are used only by apctest when choosing "Set EEPROM with conf
+# file values" from the EEPROM menu. THESE STATEMENTS HAVE NO EFFECT ON APCUPSD.
+#
+
+# UPS name, max 8 characters 
+#UPSNAME UPS_IDEN
+
+# Battery date - 8 characters
+#BATTDATE mm/dd/yy
+
+# Sensitivity to line voltage quality (H cause faster transfer to batteries)  
+# SENSITIVITY H M L        (default = H)
+#SENSITIVITY H
+
+# UPS delay after power return (seconds)
+# WAKEUP 000 060 180 300   (default = 0)
+#WAKEUP 60
+
+# UPS Grace period after request to power off (seconds)
+# SLEEP 020 180 300 600    (default = 20)
+#SLEEP 180
+
+# Low line voltage causing transfer to batteries
+# The permitted values depend on your model as defined by last letter 
+#  of FIRMWARE or APCMODEL. Some representative values are:
+#    D 106 103 100 097
+#    M 177 172 168 182
+#    A 092 090 088 086
+#    I 208 204 200 196     (default = 0 => not valid)
+#LOTRANSFER  208
+
+# High line voltage causing transfer to batteries
+# The permitted values depend on your model as defined by last letter 
+#  of FIRMWARE or APCMODEL. Some representative values are:
+#    D 127 130 133 136
+#    M 229 234 239 224
+#    A 108 110 112 114
+#    I 253 257 261 265     (default = 0 => not valid)
+#HITRANSFER 253
+
+# Battery charge needed to restore power
+# RETURNCHARGE 00 15 50 90 (default = 15)
+#RETURNCHARGE 15
+
+# Alarm delay 
+# 0 = zero delay after pwr fail, T = power fail + 30 sec, L = low battery, N = never
+# BEEPSTATE 0 T L N        (default = 0)
+#BEEPSTATE T
+
+# Low battery warning delay in minutes
+# LOWBATT 02 05 07 10      (default = 02)
+#LOWBATT 2
+
+# UPS Output voltage when running on batteries
+# The permitted values depend on your model as defined by last letter 
+#  of FIRMWARE or APCMODEL. Some representative values are:
+#    D 115
+#    M 208
+#    A 100
+#    I 230 240 220 225     (default = 0 => not valid)
+#OUTPUTVOLTS 230
+
+# Self test interval in hours 336=2 weeks, 168=1 week, ON=at power on
+# SELFTEST 336 168 ON OFF  (default = 336)
+#SELFTEST 336
\ No newline at end of file


=====================================
ansible/roles/ups-backed/templates/apcupsd.j2
=====================================
--- /dev/null
+++ b/ansible/roles/ups-backed/templates/apcupsd.j2
@@ -0,0 +1,5 @@
+# Defaults for apcupsd initscript
+
+# Apcupsd-devel internal configuration
+APCACCESS=/sbin/apcaccess
+ISCONFIGURED=yes
\ No newline at end of file


=====================================
ansible/dns-servers.yml → ansible/vars/sucs-dns.yml
=====================================
--- a/ansible/dns-servers.yml
+++ b/ansible/vars/sucs-dns.yml
@@ -1,66 +1,63 @@
-- hosts: silver
-  roles:
-    - role: dns-server
-      master:
-        - domain: example.com
-          slaves: ["outpost.opendium.net", "ns1.botec.co.uk"]
-          serial: 1970010101
-          primary_master: sucs.swan.ac.uk
-          nameservers: ["sucs.swan.ac.uk","outpost.opendium.net", "ns1.botec.co.uk"]
-          txts:
-            - ["v=spf1 ip4:137.44.10.1 -all"]
-          mxs:
-            - ["10", "sucs.org"]
-            - ["20", "outpost.sucs.org"]
-          as:
-            - ["@", "137.44.10.1"]
-            - ["silver", "137.44.10.1"]
-            - ["door", "137.44.10.2"]
-            - ["games", "137.44.10.3"]
-            - ["switch", "137.44.10.4"]
-            - ["ups", "137.44.10.5"]
-            - ["iridium", "137.44.10.6"]
-            - ["mirror", "137.44.10.8"]
-            - ["silver-ipmi", "137.44.10.10"]
-            - ["iridium-ipmi", "137.44.10.11"]
-            - ["vmnet", "137.44.10.20"]
-            - ["su-apiv2", "137.44.10.24"]
-            - ["krypton", "137.44.10.40"]
-            - ["xenon", "137.44.10.41"]
-            - ["helium", "137.44.10.42"]
-            - ["argon", "137.44.10.43"]
-            - ["fluorine", "137.44.10.44"]
-            - ["chlorine", "137.44.10.45"]
-            - ["bromine", "137.44.10.46"]
-            - ["iodine", "137.44.10.47"]
-            - ["pi", "137.44.10.50"]
-            - ["vhost", "137.44.10.61"]
-            - ["guestnet", "137.44.10.63"]
-            - ["printer", "137.44.10.71"]
-            - ["gitlab", "137.44.10.81"]
-            - ["ci.gitlab", "137.44.10.81"]
-            - ["paf", "137.44.10.83"]
-            - ["xtreme", "137.44.10.85"]
-            - ["sucs.gw", "137.44.10.126"]
-            - ["guest.gw", "137.44.10.254"]
-            - ["campus.gw", "137.44.19.200"]
-            - ["backup", "137.44.6.5"]
-            - ["outpost", "217.172.140.25"]
-          cnames:
-            - ["vanadium-iss", "sucs-video-streaming.swan.ac.uk."]
-            - ["laptop-iss", "sucs-supports-pc.swan.ac.uk."]
-            - ["lists", "vhost"]
-            - ["www", "silver"]
-            - ["ftp", "mirror"]
-            - ["mail", "silver"]
-            - ["webmail", "silver"]
-            - ["pop3", "silver"]
-            - ["imap", "silver"]
-            - ["gw", "sucs.gw"]
-            - ["scanner", "silver"]
-            - ["projects", "gitlab"]
-            - ["time", "silver"]
-            - ["beta", "vhost"]
-            - ["twenty", "vhost"]
-            - ["history", "vhost"]
-            - ["proxy", "silver"]
+master:
+  - domain: sucs.org
+    slaves: ["outpost.opendium.net", "ns1.botec.co.uk"]
+    serial: 1970010101
+    primary_master: sucs.swan.ac.uk
+    nameservers: ["sucs.swan.ac.uk","outpost.opendium.net", "ns1.botec.co.uk"]
+    txts:
+      - ["v=spf1 ip4:137.44.10.1 -all"]
+    mxs:
+      - ["10", "sucs.org"]
+      - ["20", "outpost.sucs.org"]
+    as:
+      - ["@", "137.44.10.1"]
+      - ["silver", "137.44.10.1"]
+      - ["door", "137.44.10.2"]
+      - ["games", "137.44.10.3"]
+      - ["switch", "137.44.10.4"]
+      - ["ups", "137.44.10.5"]
+      - ["iridium", "137.44.10.6"]
+      - ["mirror", "137.44.10.8"]
+      - ["silver-ipmi", "137.44.10.10"]
+      - ["iridium-ipmi", "137.44.10.11"]
+      - ["vmnet", "137.44.10.20"]
+      - ["su-apiv2", "137.44.10.24"]
+      - ["krypton", "137.44.10.40"]
+      - ["xenon", "137.44.10.41"]
+      - ["helium", "137.44.10.42"]
+      - ["argon", "137.44.10.43"]
+      - ["fluorine", "137.44.10.44"]
+      - ["chlorine", "137.44.10.45"]
+      - ["bromine", "137.44.10.46"]
+      - ["iodine", "137.44.10.47"]
+      - ["pi", "137.44.10.50"]
+      - ["vhost", "137.44.10.61"]
+      - ["guestnet", "137.44.10.63"]
+      - ["printer", "137.44.10.71"]
+      - ["gitlab", "137.44.10.81"]
+      - ["ci.gitlab", "137.44.10.81"]
+      - ["paf", "137.44.10.83"]
+      - ["xtreme", "137.44.10.85"]
+      - ["sucs.gw", "137.44.10.126"]
+      - ["guest.gw", "137.44.10.254"]
+      - ["campus.gw", "137.44.19.200"]
+      - ["backup", "137.44.6.5"]
+      - ["outpost", "217.172.140.25"]
+    cnames:
+      - ["vanadium-iss", "sucs-video-streaming.swan.ac.uk."]
+      - ["laptop-iss", "sucs-supports-pc.swan.ac.uk."]
+      - ["lists", "vhost"]
+      - ["www", "silver"]
+      - ["ftp", "mirror"]
+      - ["mail", "silver"]
+      - ["webmail", "silver"]
+      - ["pop3", "silver"]
+      - ["imap", "silver"]
+      - ["gw", "sucs.gw"]
+      - ["scanner", "silver"]
+      - ["projects", "gitlab"]
+      - ["time", "silver"]
+      - ["beta", "vhost"]
+      - ["twenty", "vhost"]
+      - ["history", "vhost"]
+      - ["proxy", "silver"]



View it on GitLab: https://projects.sucs.org/sucs/sucs/compare/30eb3af6be29b72ea6823dca0203e04dab73bcaa...e16bc86632e97291025339d258b95cde90478459
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sucs.org/pipermail/devel/attachments/20170115/8d95f401/attachment-0001.html>


More information about the Devel mailing list