Browse Source

Switched to externally developed alfred role

Till Klocke 10 năm trước cách đây
mục cha
commit
9f6e84cca4
32 tập tin đã thay đổi với 292 bổ sung2 xóa
  1. 2 0
      galaxy-roles/dereulenspiegel.fastd/.gitignore
  2. 33 0
      galaxy-roles/dereulenspiegel.fastd/.kitchen.yml
  3. 23 0
      galaxy-roles/dereulenspiegel.fastd/.travis.yml
  4. 7 0
      galaxy-roles/dereulenspiegel.fastd/Gemfile
  5. 0 0
      galaxy-roles/dereulenspiegel.fastd/README.md
  6. 0 0
      galaxy-roles/dereulenspiegel.fastd/defaults/main.yml
  7. 0 0
      galaxy-roles/dereulenspiegel.fastd/handlers/main.yml
  8. 1 0
      galaxy-roles/dereulenspiegel.fastd/meta/.galaxy_install_info
  9. 4 1
      roles/fastd/meta/main.yml
  10. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/debian.yml
  11. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/libsodium/debian.yml
  12. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/libsodium/main.yml
  13. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/libsodium/source.yml
  14. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/libsodium/ubuntu.yml
  15. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/libuecc/debian.yml
  16. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/libuecc/main.yml
  17. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/libuecc/source.yml
  18. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/main.yml
  19. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/repo.yml
  20. 0 0
      galaxy-roles/dereulenspiegel.fastd/tasks/source.yml
  21. 0 0
      galaxy-roles/dereulenspiegel.fastd/templates/fastd.conf.j2
  22. 0 0
      galaxy-roles/dereulenspiegel.fastd/templates/secret.conf.j2
  23. 2 0
      galaxy-roles/dereulenspiegel.fastd/test/ansible.cfg
  24. 9 0
      galaxy-roles/dereulenspiegel.fastd/test/application/fastd.yml
  25. 35 0
      galaxy-roles/dereulenspiegel.fastd/test/application/fastd_pkg_vars.yml
  26. 56 0
      galaxy-roles/dereulenspiegel.fastd/test/integration/fastd/serverspec/fastd_spec.rb
  27. 1 0
      galaxy-roles/dereulenspiegel.fastd/test/local.ini
  28. 17 0
      galaxy-roles/dereulenspiegel.fastd/test/run_vagrant_kitchen.sh
  29. 98 0
      galaxy-roles/dereulenspiegel.fastd/test/travis_run.py
  30. 0 0
      galaxy-roles/dereulenspiegel.fastd/vars/main.yml
  31. 3 0
      requirements.yml
  32. 1 1
      roles/ff-supernode/meta/main.yml

+ 2 - 0
galaxy-roles/dereulenspiegel.fastd/.gitignore

@@ -0,0 +1,2 @@
+.kitchen/
+secrets

+ 33 - 0
galaxy-roles/dereulenspiegel.fastd/.kitchen.yml

@@ -0,0 +1,33 @@
+---
+driver:
+  name: vagrant
+
+provisioner:
+    name               : ansible_push
+    verbose            : "vvvv"
+    ansible_config     : "test/ansible.cfg"
+    idempotency_test   : False
+    sudo               : True
+    #chef_bootstrap_url : False
+    #extra_vars        : "@kitchen_vars.yml"
+
+platforms:
+    - name: Debian-jessie
+      driver:
+        box: debian/jessie64
+    - name: Debian-wheezy
+      driver:
+        box: debian/wheezy64 #chef/debian-7.8
+    - name: Ubuntu-trusty
+      driver:
+        box: ubuntu/trusty64
+
+suites:
+  - name: fastd
+    provisioner:
+      playbook: "test/application/fastd.yml"
+      extra_vars: {'kitchen_connection': 'smart'}
+#  - name            : group
+#    provisioner     :
+#        playbook    : "test/application/group.yml"
+#        extra_vars  : { 'kitchen_connection': 'smart' }

+ 23 - 0
galaxy-roles/dereulenspiegel.fastd/.travis.yml

@@ -0,0 +1,23 @@
+---
+language: python
+python: "2.7"
+
+before_install:
+  # Make sure everything's up to date.
+  - sudo apt-get update -qq
+  - sudo apt-get install -qq python-apt python-pycurl git python-pip ruby ruby-dev build-essential autoconf
+  - gem install bundler
+
+install:
+  - sudo pip install ansible
+
+
+script:
+    #- cd test
+    - ansible --version
+    - bundle install
+    - KITCHEN_YAML=.kitchen.travis.yml bundle exec kitchen test travis
+
+
+after_success:
+    - echo "Success"

+ 7 - 0
galaxy-roles/dereulenspiegel.fastd/Gemfile

@@ -0,0 +1,7 @@
+source "https://rubygems.org"
+
+gem "test-kitchen"
+gem "kitchen-ansiblepush"
+gem "kitchen-ansible"
+gem "kitchen-vagrant"
+gem "kitchen-localhost"

roles/fastd/README.md → galaxy-roles/dereulenspiegel.fastd/README.md


roles/fastd/defaults/main.yml → galaxy-roles/dereulenspiegel.fastd/defaults/main.yml


roles/fastd/handlers/main.yml → galaxy-roles/dereulenspiegel.fastd/handlers/main.yml


+ 1 - 0
galaxy-roles/dereulenspiegel.fastd/meta/.galaxy_install_info

@@ -0,0 +1 @@
+{install_date: 'Sun Aug  2 08:14:56 2015', version: master}

+ 4 - 1
roles/fastd/meta/main.yml

@@ -8,7 +8,10 @@ galaxy_info:
   platforms:
   - name: Debian
     versions:
-    - jessie
+    - all
+  - name: Ubuntu
+    vesions:
+    - all
   categories:
   - networking
 dependencies: []

roles/fastd/tasks/debian.yml → galaxy-roles/dereulenspiegel.fastd/tasks/debian.yml


roles/fastd/tasks/libsodium/debian.yml → galaxy-roles/dereulenspiegel.fastd/tasks/libsodium/debian.yml


roles/fastd/tasks/libsodium/main.yml → galaxy-roles/dereulenspiegel.fastd/tasks/libsodium/main.yml


roles/fastd/tasks/libsodium/source.yml → galaxy-roles/dereulenspiegel.fastd/tasks/libsodium/source.yml


roles/fastd/tasks/libsodium/ubuntu.yml → galaxy-roles/dereulenspiegel.fastd/tasks/libsodium/ubuntu.yml


roles/fastd/tasks/libuecc/debian.yml → galaxy-roles/dereulenspiegel.fastd/tasks/libuecc/debian.yml


roles/fastd/tasks/libuecc/main.yml → galaxy-roles/dereulenspiegel.fastd/tasks/libuecc/main.yml


roles/fastd/tasks/libuecc/source.yml → galaxy-roles/dereulenspiegel.fastd/tasks/libuecc/source.yml


roles/fastd/tasks/main.yml → galaxy-roles/dereulenspiegel.fastd/tasks/main.yml


roles/fastd/tasks/repo.yml → galaxy-roles/dereulenspiegel.fastd/tasks/repo.yml


roles/fastd/tasks/source.yml → galaxy-roles/dereulenspiegel.fastd/tasks/source.yml


roles/fastd/templates/fastd.conf.j2 → galaxy-roles/dereulenspiegel.fastd/templates/fastd.conf.j2


roles/fastd/templates/secret.conf.j2 → galaxy-roles/dereulenspiegel.fastd/templates/secret.conf.j2


+ 2 - 0
galaxy-roles/dereulenspiegel.fastd/test/ansible.cfg

@@ -0,0 +1,2 @@
+[defaults]
+roles_path=../:../../:/spec/

+ 9 - 0
galaxy-roles/dereulenspiegel.fastd/test/application/fastd.yml

@@ -0,0 +1,9 @@
+---
+- name         : Install and configure fastd
+  hosts        : all
+  gather_facts : yes
+  connection   : "{{ kitchen_connection | default('local') }}"
+  vars_files   :
+                 - "fastd_pkg_vars.yml"
+  roles        :
+                 - "ansible-fastd"

+ 35 - 0
galaxy-roles/dereulenspiegel.fastd/test/application/fastd_pkg_vars.yml

@@ -0,0 +1,35 @@
+fastd_instances:
+  - name: test1
+    bind: any:10000 interface "eth0" default ipv4
+    interface: tap00
+    loglevel: info
+    mode: tap
+    method: salsa2012+umac
+    peer_limit: 125
+    mtu: 1280
+    status_socket: /tmp/fastd00.sock
+    on_up_script: |
+      ip link set up $INTERFACE
+      batctl if add $INTERFACE
+    on_verify_script: |
+      /etc/fastd/fastd-blacklist.sh $PEER_KEY
+  - name: test2
+    bind: any:10001 interface "eth0" default ipv4
+    interface: tap01
+    loglevel: info
+    mode: tap
+    method: salsa2012+umac
+    peer_limit: 125
+    mtu: 1280
+    status_socket: /tmp/fastd01.sock
+    on_up_script: |
+      ip link set up $INTERFACE
+      batctl if add $INTERFACE
+    on_verify_script: |
+      /etc/fastd/fastd-blacklist.sh $PEER_KEY
+
+fastd_instances_secret:
+  - name: test1
+    secret: 280088c4263359417e9f2daf1771db820ab79eb4f79e3718719b2a976e8a8b5e
+  - name: test2
+    secret: 280088c4263359417e9f2daf1771db820ab79eb4f79e3718719b2a976e8a8b5e

+ 56 - 0
galaxy-roles/dereulenspiegel.fastd/test/integration/fastd/serverspec/fastd_spec.rb

@@ -0,0 +1,56 @@
+require 'serverspec'
+
+# Required by serverspec
+set :backend, :exec
+
+describe file('/etc/fastd') do
+  it { should be_directory }
+end
+
+describe file('/etc/fastd/test1') do
+  it { should be_directory }
+end
+
+describe file('/etc/fastd/test2') do
+  it { should be_directory }
+end
+
+describe package('fastd') do
+  it { should be_installed }
+end
+
+# Ansible seems to have problems to enable a service. Needs investigation
+describe service('fastd') do
+  it { should be_running }
+#  it { should be_enabled }
+end
+
+describe process('fastd') do
+  it { should be_running }
+end
+
+describe port(10000) do
+  it { should be_listening.with('udp6') }
+end
+
+describe port(10001) do
+  it { should be_listening.with('udp6') }
+end
+
+describe package('rng-tools') do
+  it { should be_installed }
+end
+
+describe file('/etc/default/rng-tools') do
+  it { should exist }
+  its(:content) { should match /HRNGDEVICE=\/dev\/urandom/ }
+end
+
+describe process("rngd") do
+  it { should be_running }
+end
+
+describe user('fastd') do
+  it { should exist }
+  it { should have_login_shell '/bin/false' }
+end

+ 1 - 0
galaxy-roles/dereulenspiegel.fastd/test/local.ini

@@ -0,0 +1 @@
+localhost ansible_connection='local'

+ 17 - 0
galaxy-roles/dereulenspiegel.fastd/test/run_vagrant_kitchen.sh

@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+set -e
+echo "**** Box setup ***"
+
+echo "* mkdir /kitchen"
+mkdir -p /kitchen
+
+#echo "* cp -ar /mnt/shared /kitchen"
+#cp -r /mnt/shared/. /kitchen
+echo "* ln -sf /mnt/shared /kitchen"
+ln -sf /mnt/shared/* /kitchen/
+
+echo "* cd /kitchen"
+cd /kitchen/*
+
+echo "* python test/travis_run.py"
+python test/travis_run.py

+ 98 - 0
galaxy-roles/dereulenspiegel.fastd/test/travis_run.py

@@ -0,0 +1,98 @@
+#!/usr/bin/env python
+# https://github.com/ahelal/travis-in-box
+
+import yaml
+import subprocess
+import sys
+import os.path
+
+
+class TravisExec(object):
+    def __init__(self, filename="travis.yml"):
+        self.fail = False
+        stream = open(filename, 'r')
+        yaml_file = yaml.load(stream)
+        # language
+        self.language = yaml_file.get("language", None)
+
+        # Section
+        self.section_before_install = yaml_file.get("before_install", None)
+        self.section_install = yaml_file.get("install", None)
+        self.section_before_script = yaml_file.get("before_script", None)
+        self.section_script = yaml_file.get("script", None)
+
+        #self.section_after_script = yaml_file.get("after_script", None)
+        self.section_after_failure = yaml_file.get("after_failure", None)
+        self.section_after_success = yaml_file.get("after_success", None)
+
+    def _setup(self):
+        if self.language == "python":
+            print "********** Setup Python  **********"
+            print ""
+            # Since we are not using container we have to install various lang our self
+            # So this is probably not the best way to do it
+            self._execute_command(["sudo apt-get install python-setuptools python-pip -y"])
+        else:
+            print "Errors unsupported language {}".format(self.language)
+            exit(1)
+
+    def life_cycle(self):
+        # See http://docs.travis-ci.com/user/build-configuration/
+
+            # 1. setup language
+            self._setup()
+            # 4. Run before_install commands
+            self.run_command("before_install", self.section_before_install, self.section_after_failure)
+            # 5. Run install commands
+            self.run_command("install", self.section_install, self.section_after_failure)
+            # 6. Run before_script commands
+            self.run_command("before_script", self.section_before_script, self.section_after_failure)
+            # 7. Run test script commands
+            self.run_command("script", self.section_script, self.section_after_failure)
+            # 8 . if we reach this point we made it run after_success
+            self.run_command("after_success", self.section_after_success, None)
+
+    @staticmethod
+    def _execute_command(command):
+        new_command = ["echo '> " + item.rstrip('\n') + "' && { " + item.rstrip('\n') + " ; }" for item in command]
+        new_command = " && ".join(new_command)
+
+        p = subprocess.Popen(new_command, shell=True, stderr=subprocess.PIPE)
+        while True:
+            out = p.stderr.read(1)
+            if out == '' and p.poll() is not None:
+                break
+            if out != '':
+                sys.stdout.write(out)
+                sys.stdout.flush()
+        print ""
+        return p.returncode
+
+    def run_command(self, section_name=None, command=None, execute_on_failure=None):
+        if command:
+            print ""
+            print "********** Running '{}' **********".format(section_name)
+            return_code = self._execute_command(command)
+            if return_code != 0:
+                print ""
+                print "********** Failed in '{}' **********".format(section_name)
+                if execute_on_failure:
+                    print ""
+                    print "********** Running after_failure  **********".format(section_name)
+                    self._execute_command(execute_on_failure)
+                    exit(1)
+
+filename = None
+if len(sys.argv) == 1:
+    filename = ".travis.yml"
+elif len(sys.argv) == 2:
+    filename = sys.argv[1]
+else:
+    print "Invalid number of arguments"
+    exit(1)
+
+if os.path.exists(filename):
+    TravisExec(filename).life_cycle()
+else:
+    print "Could not file travis file '{}'".format(filename)
+    exit(1)

roles/fastd/vars/main.yml → galaxy-roles/dereulenspiegel.fastd/vars/main.yml


+ 3 - 0
requirements.yml

@@ -10,4 +10,7 @@
   path: galaxy-roles
 
 - src: jdauphant.unbound
+  path: galaxy-roles
+
+- src: dereulenspiegel.fastd
   path: galaxy-roles

+ 1 - 1
roles/ff-supernode/meta/main.yml

@@ -16,7 +16,7 @@ galaxy_info:
   - networking
 dependencies:
 - usermanage
-- fastd
+- dereulenspiegel.fastd
 - batman
 - supernode-interfaces
 - pdellaert.dhcp_server