From edff62ed40d0d2e4f7137dfe081aed7a417a17ca Mon Sep 17 00:00:00 2001 From: Mike Marsh <mmarsh@cs.umd.edu> Date: Sat, 10 Feb 2018 11:20:29 -0500 Subject: [PATCH] more removal of code --- library/mission_annotations | 139 ------------------ library/ntpblitz | 26 ---- library/plan | 39 ----- library/sp | 33 ----- luna.py | 60 -------- roles/deployer/files/authorized_keys | 1 - roles/deployer/files/planx_key | 27 ---- roles/deployer/tasks/deployer.yml | 34 ----- roles/deployer/tasks/main.yml | 2 - roles/deployer/templates/deployer.conf.j2 | 11 -- roles/grey_builder/tasks/grey_builder.yml | 6 - roles/grey_builder/tasks/main.yml | 3 - .../tasks/BlueController_setup.yml | 38 ----- .../tasks/gateway_setup.yml | 38 ----- .../testbed_blue_config/tasks/luna_setup.yml | 43 ------ roles/testbed_blue_config/tasks/main.yml | 3 - .../tasks/testbed_blue_config.yml | 16 -- roles/testbed_blue_config/tasks/was.yml | 19 --- .../templates/pxluna.configs.mte_host.j2 | 1 - roles/testbed_builders_config/tasks/main.yml | 2 - .../tasks/testbed_builders_config.yml | 33 ----- .../templates/Dockerfile.lp.j2 | 14 -- .../templates/Dockerfile.vn.j2 | 12 -- .../tasks/BlueController_config.yml | 70 --------- roles/testbed_code_checkout/tasks/main.yml | 3 - .../tasks/mission_checkout.yml | 5 - .../tasks/runtime_config.yml | 41 ------ .../tasks/testbed_code_checkout.yml | 8 - .../templates/pxluna.configs.mte.j2 | 1 - .../tasks/main.yml | 3 - .../tasks/testbed_mission_elements_config.yml | 134 ----------------- 31 files changed, 865 deletions(-) delete mode 100755 library/mission_annotations delete mode 100755 library/ntpblitz delete mode 100755 library/plan delete mode 100755 library/sp delete mode 100755 luna.py delete mode 100644 roles/deployer/files/authorized_keys delete mode 100644 roles/deployer/files/planx_key delete mode 100644 roles/deployer/tasks/deployer.yml delete mode 100644 roles/deployer/tasks/main.yml delete mode 100644 roles/deployer/templates/deployer.conf.j2 delete mode 100644 roles/grey_builder/tasks/grey_builder.yml delete mode 100644 roles/grey_builder/tasks/main.yml delete mode 100644 roles/testbed_blue_config/tasks/BlueController_setup.yml delete mode 100644 roles/testbed_blue_config/tasks/gateway_setup.yml delete mode 100644 roles/testbed_blue_config/tasks/luna_setup.yml delete mode 100644 roles/testbed_blue_config/tasks/main.yml delete mode 100644 roles/testbed_blue_config/tasks/testbed_blue_config.yml delete mode 100644 roles/testbed_blue_config/tasks/was.yml delete mode 100644 roles/testbed_blue_config/templates/pxluna.configs.mte_host.j2 delete mode 100644 roles/testbed_builders_config/tasks/main.yml delete mode 100644 roles/testbed_builders_config/tasks/testbed_builders_config.yml delete mode 100644 roles/testbed_builders_config/templates/Dockerfile.lp.j2 delete mode 100644 roles/testbed_builders_config/templates/Dockerfile.vn.j2 delete mode 100644 roles/testbed_code_checkout/tasks/BlueController_config.yml delete mode 100644 roles/testbed_code_checkout/tasks/main.yml delete mode 100644 roles/testbed_code_checkout/tasks/mission_checkout.yml delete mode 100644 roles/testbed_code_checkout/tasks/runtime_config.yml delete mode 100644 roles/testbed_code_checkout/tasks/testbed_code_checkout.yml delete mode 100644 roles/testbed_code_checkout/templates/pxluna.configs.mte.j2 delete mode 100644 roles/testbed_mission_elements_config/tasks/main.yml delete mode 100644 roles/testbed_mission_elements_config/tasks/testbed_mission_elements_config.yml diff --git a/library/mission_annotations b/library/mission_annotations deleted file mode 100755 index 4b40ac6..0000000 --- a/library/mission_annotations +++ /dev/null @@ -1,139 +0,0 @@ -#! /usr/bin/env python - -import json -import types - -def make_dannotation(node,mission,rtState): - if 'uuid' in node: - id = node['uuid'] - else: - id = mission + "_" + node['name'] - return { - 'node' : { - 'id' : id - }, - 'device' : 'device_' + node['address'], - 'execution_trace' : mission, - 'user' : 'mrsbutterworth', - 'timestamp' : 0, - 'blue' : False, - 'noStrike' : False, - 'vantagePool' : False, - 'proxyPool' : False, - 'isController' : False, - 'target' : False, - 'state' : rtState - } - -def make_cannotation(node,isLP,isProxy,isVantage): - return { - 'id' : "ca_" + node['address'], - 'device' : 'device_' + node['address'], - 'listening_post' : isLP, - 'redirector': isProxy, - 'vantage' : isVantage, - 'assigned' : False - } - -def make_ipv4net(node): - return { - 'node' : { - 'id' : node['address'] - }, - 'cidr' : node['address'] + '/32', - 'min_ip' : 1, - 'max_ip' : 1 - } - -def make_device(node): - return { - 'node' : { - 'id' : 'device_' + node['address'] - }, - 'has' : [ 'svc_' + node['address'] ] - } - -def make_associated(node): - return { - 'edge' : { - 'id' : 'edge_' + node['address'], - 'from_id' : node['address'], - 'to_id' : 'device_' + node['address'] - } - } - -def make_credential(node,key): - return { - 'node' : { - 'id' : 'cred_' + node['address'] - }, - 'user' : 'root', - 'password' : 'px', - 'key' : key - } - -def make_service(node): - return { - 'node' : { - 'id' : 'svc_' + node['address'] - }, - 'name' : 'ssh', - 'state' : 'STARTED', - 'has' : [ 'cred_' + node['address'] ] - } - -def extract(nodes,rtState,key=None): - dannotations = [] - cannotations = [] - devices = [] - ipv4nets = [] - associations = [] - credentials = [] - services = [] - isLP = True if rtState == 'LISTENING_POST' else False - isProxy = True if rtState in ('VANTAGE_POINT','NOT_DEPLOYED') else False - isVantage = True if rtState in ('VANTAGE_POINT','NOT_DEPLOYED') else False - for node in nodes: - devices.append(make_device(node)) - ipv4nets.append(make_ipv4net(node)) - cannotations.append(make_cannotation(node, isLP, isProxy, isVantage)) - associations.append(make_associated(node)) - credentials.append(make_credential(node,'gozer' if key is None else key)) - services.append(make_service(node)) - if 'mission' in node: - mission_spec = node['mission'] - if isinstance(mission_spec,types.ListType): - for mission in mission_spec: - dannotations.append(make_dannotation(node, mission, rtState)) - else: - dannotations.append(make_dannotation(node, mission_spec, rtState)) - return (dannotations,devices,ipv4nets,associations,cannotations,credentials,services) - -def main(): - module = AnsibleModule(argument_spec=dict( - nodes=dict(required=True), - state=dict(required=True), - key=dict(required=False), - )) - - changed=False - nodes = module.params['nodes'] - rtState = module.params['state'] - key = None - if 'key' in module.params: - key = module.params['key'] - js = nodes.replace('\'','"') - j = json.loads(js) - dannotations,devices,ipv4nets,associations,cannotations,credentials,services = extract(j,rtState,key) - - module.exit_json(changed=changed, - dannotations=dannotations, - devices=devices, - ipv4nets=ipv4nets, - associations=associations, - cannotations=cannotations, - credentials=credentials, - services=services) - -from ansible.module_utils.basic import * -main() diff --git a/library/ntpblitz b/library/ntpblitz deleted file mode 100755 index 4a91467..0000000 --- a/library/ntpblitz +++ /dev/null @@ -1,26 +0,0 @@ -#! /usr/bin/env python - -from scapy.all import IP, UDP, NTP, send -import random - -def do_blitz(target,num): - for i in range(num): - source = "%d.%d.%d.%d" % (random.randint(1,254), - random.randint(0,254), - random.randint(0,254), - random.randint(1,254)) - pkt = IP(src=source,dst=target)/UDP()/NTP(id=source) - send(pkt) - -def main(): - module = AnsibleModule(argument_spec=dict( - ip=dict(required=True,type='str'), - nblitz=dict(required=True,type='int'), - )) - - do_blitz(module.params['ip'],module.params['nblitz']) - - module.exit_json() - -from ansible.module_utils.basic import * -main() diff --git a/library/plan b/library/plan deleted file mode 100755 index 64d1690..0000000 --- a/library/plan +++ /dev/null @@ -1,39 +0,0 @@ -#! /bin/bash - -. $1 - -pid_luna_bridge=$(ps -u root -o pid,cmd | grep luna-bridge | grep -v grep | cut -d' ' -f1) -pid_plan=$(ps -u root -o pid,cmd | grep plan.py | grep -v grep | cut -d' ' -f1) - -if [ "x${pid_luna_bridge}" != "x" ] -then - echo "killing luna bridge on pid ${pid_luna_bridge}" >&2 - kill ${pid_luna_bridge} -fi -if [ "x${pid_plan}" != "x" ] -then - echo "killing plan on pid ${pid_plan}" >&2 - kill ${pid_plan} -fi - -cd /usr/local/src/controller-visualization/examples -nohup python luna-bridge.py ${core_addr} >/tmp/luna-bridge.out 2>/tmp/luna-bridge.err & -if [ $? -eq 0 ] -then - failed="false" -else - failed="true" - echo "changed=true failed=${failed}" - exit 1 -fi - -cd /usr/local/src/TestMissionNTP1 -nohup python plan.py > /tmp/plan.out 2>/tmp/plan.err & -if [ $? -eq 0 ] -then - failed="false" -else - failed="true" -fi - -echo "changed=true failed=${failed}" diff --git a/library/sp b/library/sp deleted file mode 100755 index 0581219..0000000 --- a/library/sp +++ /dev/null @@ -1,33 +0,0 @@ -#! /bin/bash - -arg_file=$1 -. ${arg_file} - -arg_list="" -if [ "x${port}" != "x" ] -then - arg_list="${arg_list} -p ${port}" -fi -if [ "x${addr}" != "x" ] -then - arg_list="${arg_list} -a ${addr}" -fi -if [ "x${remote_port}" != "x" ] -then - arg_list="${arg_list} -P ${remote_port}" -fi -if [ "x${remote_addr}" != "x" ] -then - arg_list="${arg_list} -A ${remote_addr}" -fi - -cd /usr/local/src/controller-stubs/runtime -nohup lua runtime.lua ${arg_list} >/tmp/sp.out 2>/tmp/sp.err & -if [ $? -eq 0 ] -then - failed="false" -else - failed="true" -fi - -echo "changed=true failed=${failed}" diff --git a/luna.py b/luna.py deleted file mode 100755 index f8aaab5..0000000 --- a/luna.py +++ /dev/null @@ -1,60 +0,0 @@ -#! /usr/bin/env python - -import json -import pxluna -import pxluna.configs.localhost - -from pxavro.types import Blob, ExampleRecord - -from tornado import stack_context -from tornado import gen -from tornado.ioloop import IOLoop - -import logging -logging.basicConfig() - -config = lambda: None - -def get_ip(manifest): - global config - fd = open(manifest) - j = json.load(fd) - - blue_nodes = j['blue_nodes'] - containers = blue_nodes['containers'] - nodes = containers['nodes'] - luna = None - for node in nodes: - if node['Name'] == '/luna': - luna = node - break - networkSettings = luna['NetworkSettings'] - ipAddr = networkSettings['IPAddress'] - - setattr(config,'LUNA_HOSTNAME',ipAddr) - - return ipAddr - -@gen.coroutine -def query(client,qString): - query_response = yield client.query(qString) - -@gen.coroutine -def main(): - - client = pxluna.SatelliteClient() - - try: - yield client.setup(config) - - yield query(client,'@Fetch { type:missionannotation.MissionAnnotation }') - - except: - # If you don't wrap the yields with an exception handler, the - # errors currently get swallowed by tornado - logging.exception("Exception during luna processing!") - - -if __name__ == '__main__': - print "The luna server is on",get_ip("manifest.json") - IOLoop.instance().run_sync(main) diff --git a/roles/deployer/files/authorized_keys b/roles/deployer/files/authorized_keys deleted file mode 100644 index 193a0e3..0000000 --- a/roles/deployer/files/authorized_keys +++ /dev/null @@ -1 +0,0 @@ -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCdzUYpxOfsB2AUfwzpMl/5pkaDoh6bzHcTdBcCxQ3qL+FirEu2ZYyDcG2WzDmJuw1XoAImY+lmintisCv/c2z9cWZRAoYY3AMYJUAtKlu0MSWrfuSPknBVPZCsGsI7Zq5pcQ1n5A65ryWRHuLogMMEb/cco4sjBYgS/klafvq0zBTeDLY6fy51hYsUBxXAI5f+wxFY6NZLXx/eBWK+C1eUYyv5kQtu7pVTL+TfnppZWgwo4EIiP3hba8cQjzw0kkOXs1VXeEES2KwCT094wBt2pEtZwO2dRP85a/8vPCDW3MSc7vN8v6r6S5M0aRjH/4LI8zfuMoqAIu9Sn5uew5+5 diff --git a/roles/deployer/files/planx_key b/roles/deployer/files/planx_key deleted file mode 100644 index 9d45ff7..0000000 --- a/roles/deployer/files/planx_key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAnc1GKcTn7AdgFH8M6TJf+aZGg6Iem8x3E3QXAsUN6i/hYqxL -tmWMg3Btlsw5ibsNV6ACJmPpZop7YrAr/3Ns/XFmUQKGGNwDGCVALSpbtDElq37k -j5JwVT2QrBrCO2auaXENZ+QOua8lkR7i6IDDBG/3HKOLIwWIEv5JWn76tMwU3gy2 -On8udYWLFAcVwCOX/sMRWOjWS18f3gVivgtXlGMr+ZELbu6VUy/k356aWVoMKOBC -Ij94W2vHEI88NJJDl7NVV3hBEtisAk9PeMAbdqRLWcDtnUT/OWv/Lzwg1tzEnO7z -fL+q+kuTNGkYx/+CyPM37jKKgCLvUp+bnsOfuQIDAQABAoIBAGLKcWOS73MXxvHt -/GI99FHx4/Fi3HDDV8TpB8LnJOf5I8xHe3rsJkTfbOxcXKU6Yob6GH56TFOy3L4S -9uiNFa2xgdGzl8oWayWBpKTiANlVb3TnEyZDEmp7CYiFlBXmGcjPSwpAf2uGGCm7 -QWk3u1+azQSz6lZ5jw/8/GVYW5I1ui0mSBO4m2+NhesLrpYkVqOg4vWA6lLVyznE -GE9LzHFrAk2JOl2uE0on+boM/M97FfBSVjCNBLOycjk9L3J33U/5qpk91pp5he+D -mGSc2KiPx46Xga1oIR/R2FOPGPf9zcRbd0zZ3m0bpENIZt95mfmmbqGF7CPX13Ni -hZmmB8UCgYEAyWwPnmcCVFC/wyKdW+AsNoTDMG+XsDvxy0ddpPFpd9bauoOqo0+S -ZFoZDi1fbQ84x0xgTU+j7UagaOqVixBlcoJhOIadlwSxxjTDy7I5Ihf8yHhbpNWC -yvvtwt5QdKzkF/TziI2mhupck+s8/w/8zj8rnpxffcgBkDKt98tpRK8CgYEAyI9u -EFhPRyWCVEcu+jLoiDrwob8h8RhEh6+5N73RsFZtyJqltceeH8m61o8QaBTTn0Z1 -BYUvzFeBj7RO21DxAzmNuJdsVRV+ungsSDF9Q4YF1TblHGygNtk/6iiBOTnL0GOD -xXq+P52wKDFAjXMZQ7BxeTYkgIgpSaQL6h5dzBcCgYBJIod5SIW7/6XhQIxKc9cZ -5JLK33oAb4OX/82suktFTCoXVv96VMYe0egPEcJ4YvKGyuCcsbIf0WklLyglWkq7 -jUOntpk54GZ8RWRibc/45STP1YPREgVvlpH6E6a69pvLZxGWH3i7vBTpUJzRMAjn -CmDYMocpsJmAtiYctyr92QKBgAggx/UhnxTjEEUaHW1GYuYifV4QwO9kbGKTXI5F -wxnCZvCaU9zqGh5vroLDiYauUWVDFbsDisxdP4Lza763qQzYaEXy3REVre0gsaq7 -VrhF1jat4tskC9otM8npmlMXZIstfUmjj9JEMb9vP457+6oinHatGw2adxHk9Bao -5GRBAoGBAL4FrcWE0tAUCOa3BsogsK2IYSJXLtfK6DriUG3ZcSw0GKm8XkYHhCj9 -EdxpiU+7kFWs0aybe2nImHj+WDgbUBuCiMOIggB/Le9nfgXkr5/eh2MY0B0xocp8 -evpyNZHj42caUrL4RzsBXwpJNOgQKliPFU3FTPQ4QEyRO4AjKq9X ------END RSA PRIVATE KEY----- diff --git a/roles/deployer/tasks/deployer.yml b/roles/deployer/tasks/deployer.yml deleted file mode 100644 index 5df643c..0000000 --- a/roles/deployer/tasks/deployer.yml +++ /dev/null @@ -1,34 +0,0 @@ ---- -- name: Install the deployer - pip: name=deployer extra_args='{{pip_args}}' - -- name: Create a .ssh directory - file: state=directory - path=/root/.ssh - -- name: Copy in the ssh public key - copy: src=authorized_keys - dest=/root/.ssh/ - -- name: Copy in the ssh private key - copy: src=planx_key - dest=/root/.ssh/ - mode=0600 - -- name: Make sure the deployer directory exists - file: state=directory - path=/opt/deployer - -- name: Add the SOCKS proxy configuration to the magic file - shell: /bin/echo -n "127.0.0.1:1080" > /opt/deployer/proxy.txt - -- name: Set the permissions on the SOCKS file - file: path=/opt/deployer/proxy.txt - mode=0666 - -- name: Copy the deployer's supervisord config file - template: src=deployer.conf.j2 - dest=/etc/supervisor/conf.d/deployer.conf - -- name: Reload the supervisord configuration - command: supervisorctl reload diff --git a/roles/deployer/tasks/main.yml b/roles/deployer/tasks/main.yml deleted file mode 100644 index ae55432..0000000 --- a/roles/deployer/tasks/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -- include: deployer.yml diff --git a/roles/deployer/templates/deployer.conf.j2 b/roles/deployer/templates/deployer.conf.j2 deleted file mode 100644 index 4d290ff..0000000 --- a/roles/deployer/templates/deployer.conf.j2 +++ /dev/null @@ -1,11 +0,0 @@ -[program:socks] -command=ssh -o StrictHostKeyChecking=no -i /root/.ssh/planx_key -t -t -D 1080 localhost -redirect_stderr=true -stdout_logfile=/var/log/bluecontroller/socks.log -umask=000 - -[program:deployer] -command=pxsvchost -m deployer_svc.deployer --luna {{plan_dir}}/pxluna_configs_mte.py --mercury pxmercury.configs.localhost -c deployer_svc.config -redirect_stderr=true -stdout_logfile=/var/log/bluecontroller/deployer.log -umask=000 diff --git a/roles/grey_builder/tasks/grey_builder.yml b/roles/grey_builder/tasks/grey_builder.yml deleted file mode 100644 index 03cc166..0000000 --- a/roles/grey_builder/tasks/grey_builder.yml +++ /dev/null @@ -1,6 +0,0 @@ ---- -- name: Clean up any old builds (we are cross-mounted) - command: make clean chdir=/runtime/src - -- name: Build the runtime executable - command: make linux chdir=/runtime/src diff --git a/roles/grey_builder/tasks/main.yml b/roles/grey_builder/tasks/main.yml deleted file mode 100644 index fb182be..0000000 --- a/roles/grey_builder/tasks/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- include: grey_builder.yml - diff --git a/roles/testbed_blue_config/tasks/BlueController_setup.yml b/roles/testbed_blue_config/tasks/BlueController_setup.yml deleted file mode 100644 index caa1b60..0000000 --- a/roles/testbed_blue_config/tasks/BlueController_setup.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -- name: Pull the latest version of the blue builder image - command: docker pull {{blue_builder_image}} - when: not detached - -- name: Spin up the plan master - docker: image={{blue_builder_image}} - name=plan_master - hostname=plan_master - password=px - publish_all_ports=true - volumes="{{work_dir}}/plan:{{plan_dir}},{{work_dir}}/extsrc/runtime:{{runtime_dir}},{{work_dir}}/extsrc/BlueController:{{controller_dir}},{{work_dir}}/extsrc/playbook:/opt/playbook,{{work_dir}}/logs/plan_master:/var/log/bluecontroller,{{work_dir}}/extsrc/{{nsq_unpacked}}:{{nsq_dir}},{{work_dir}}/extsrc/pipcache:{{pip_cachedir}}" - register: plan_master_info -- set_fact: - plan_master_container: "{{plan_master_info.ansible_facts.docker_containers[0]}}" - -- name: Create the network namespace - file: state=link - src=/proc/{{plan_master_container.State.Pid}}/ns/net - path=/var/run/netns/plan_master - -- name: Wire the plan master into the network - networked: state=full - name=plan_master - ip={{plan_master_ip}} - gw={{gw_ip}} - prefix={{subnet_prefix}} - gwns={{gwname}} - gwdev={{bridgedev}} - wprefix={{wsubnet_prefix}} - register: plan_master_facts - -- set_fact: - plan_master_docker_ip: "{{plan_master_container.NetworkSettings.IPAddress}}" -- set_fact: - plan_master: - container: "{{plan_master_container}}" - network: "{{plan_master_facts}}" diff --git a/roles/testbed_blue_config/tasks/gateway_setup.yml b/roles/testbed_blue_config/tasks/gateway_setup.yml deleted file mode 100644 index d315300..0000000 --- a/roles/testbed_blue_config/tasks/gateway_setup.yml +++ /dev/null @@ -1,38 +0,0 @@ ---- -- name: Pull the latest version of the sshd image - command: docker pull {{sshd_image}} - when: not detached - -- name: Start the gateway container - docker: image={{sshd_image}} - name={{gwname}} - hostname={{gwname}} - password=px - publish_all_ports=true - volumes="{{work_dir}}/logs/{{gwname}}:/var/log/supervisor" - register: gateway_info -- set_fact: - gateway_container: "{{gateway_info.ansible_facts.docker_containers[0]}}" - -- name: Create the netns directory, if it does not exist - file: path=/var/run/netns - state=directory - recurse=yes -- name: Create the network namespace for the gateway - file: path=/var/run/netns/{{gwname}} - state=link - src=/proc/{{gateway_container.State.Pid}}/ns/net -- name: Create the bridge device on the gateway - networked: state=bridge - ns={{gwname}} - dev={{bridgedev}} - addr={{gw_ip}} -- name: Set up the "wide-area subnet" (WAS), if necessary - include: was.yml - when: have_WAS - -- name: Capture the bridge device traffic - tcpdump: namespace={{gwname}} - file="pcaps/{{gwname}}.pcap" - device={{bridgedev}} - when: capture_bridges diff --git a/roles/testbed_blue_config/tasks/luna_setup.yml b/roles/testbed_blue_config/tasks/luna_setup.yml deleted file mode 100644 index 629c6dc..0000000 --- a/roles/testbed_blue_config/tasks/luna_setup.yml +++ /dev/null @@ -1,43 +0,0 @@ ---- -- name: Pull the latest version of the px-luna image - command: docker pull {{luna_image}} - when: not detached - -- name: Spin up the px-luna container - docker: image={{luna_image}} - name=luna - hostname=luna - password=px - publish_all_ports=true - volumes="{{work_dir}}/logs/luna:/var/log/supervisor" - register: px_luna_info -- set_fact: - px_luna_container: "{{px_luna_info.ansible_facts.docker_containers[0]}}" - -- name: Create the network namespace - file: state=link - src=/proc/{{px_luna_container.State.Pid}}/ns/net - path=/var/run/netns/luna - -- name: Wire the luna server into the network - networked: state=full - name=luna - ip={{luna_ip}} - gw={{gw_ip}} - prefix={{subnet_prefix}} - gwns={{gwname}} - gwdev={{bridgedev}} - wprefix={{wsubnet_prefix}} - register: px_luna_facts - -- set_fact: - px_luna_ip: "{{px_luna_container.NetworkSettings.IPAddress}}" -- set_fact: - px_luna: - container: "{{px_luna_container}}" - network: "{{px_luna_facts}}" - -# Configure the luna connection from the host -- name: Set the luna host IP address from the Docker host - template: dest=plan/pxluna_configs_mte_host.py - src=pxluna.configs.mte_host.j2 diff --git a/roles/testbed_blue_config/tasks/main.yml b/roles/testbed_blue_config/tasks/main.yml deleted file mode 100644 index 37b140c..0000000 --- a/roles/testbed_blue_config/tasks/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- include: testbed_blue_config.yml - diff --git a/roles/testbed_blue_config/tasks/testbed_blue_config.yml b/roles/testbed_blue_config/tasks/testbed_blue_config.yml deleted file mode 100644 index 38087c1..0000000 --- a/roles/testbed_blue_config/tasks/testbed_blue_config.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- include: gateway_setup.yml -- include: luna_setup.yml -- include: BlueController_setup.yml - -- name: Generate a mission UUID - command: uuidgen - register: mission_uuidgen - -- name: Grab the mission UUID - set_fact: - mission_id: "{{mission_uuidgen.stdout}}" - -- name: Trigger the next step - add_host: name=localhost - groups=g_builders_config diff --git a/roles/testbed_blue_config/tasks/was.yml b/roles/testbed_blue_config/tasks/was.yml deleted file mode 100644 index cebfd9f..0000000 --- a/roles/testbed_blue_config/tasks/was.yml +++ /dev/null @@ -1,19 +0,0 @@ ---- -- name: Create the wide-area link on the gateway - networked: state=link - ns0={{gwname}} - dev0={{i_wlink}} - addr0={{gw_ip}} - dev1={{e_wlink}} - addr1={{gw_ip}} -- name: Set up the incoming routing for the wide-area link - networked: state=route - dev={{e_wlink}} - addr={{gw_ip}} - net={{subnet}}/{{subnet_prefix}} -- name: Set up the outgoing routing for the wide-area link - networked: state=route - ns={{gwname}} - dev={{i_wlink}} - addr={{gw_ip}} - net={{wsubnet}}/{{wsubnet_prefix}} diff --git a/roles/testbed_blue_config/templates/pxluna.configs.mte_host.j2 b/roles/testbed_blue_config/templates/pxluna.configs.mte_host.j2 deleted file mode 100644 index 6ea6363..0000000 --- a/roles/testbed_blue_config/templates/pxluna.configs.mte_host.j2 +++ /dev/null @@ -1 +0,0 @@ -LUNA_HOSTNAME = "{{px_luna_ip}}" diff --git a/roles/testbed_builders_config/tasks/main.yml b/roles/testbed_builders_config/tasks/main.yml deleted file mode 100644 index dc08543..0000000 --- a/roles/testbed_builders_config/tasks/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -- include: testbed_builders_config.yml diff --git a/roles/testbed_builders_config/tasks/testbed_builders_config.yml b/roles/testbed_builders_config/tasks/testbed_builders_config.yml deleted file mode 100644 index 459fa83..0000000 --- a/roles/testbed_builders_config/tasks/testbed_builders_config.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -- name: Pull the latest version of the grey builder image - command: docker pull {{grey_builder_image}} - when: not detached - -- name: Generate the listening post Dockerfile - template: src=Dockerfile.lp.j2 - dest=./runtime_support/listening_post/Dockerfile - -- name: Generate the vantage node Dockerfile - template: src=Dockerfile.vn.j2 - dest=./runtime_support/vantage_node/Dockerfile - -- name: Spin up the grey builder - docker: image={{grey_builder_image}} - name=gb - password=px - volumes={{work_dir}}/extsrc/runtime:/runtime - register: grey_builder_info -- set_fact: - gb_ip: "{{grey_builder_info.ansible_facts.docker_containers[0].NetworkSettings.IPAddress}}" - -- name: Set up the provisioning on the grey builder - add_host: name={{gb_ip}} - groups=grey_builder - -- name: Wait for the grey builder to be ready - wait_for: port=22 - host={{gb_ip}} - -- name: Trigger the next step - add_host: name=localhost - groups=g_mission_elements_config diff --git a/roles/testbed_builders_config/templates/Dockerfile.lp.j2 b/roles/testbed_builders_config/templates/Dockerfile.lp.j2 deleted file mode 100644 index 0b18724..0000000 --- a/roles/testbed_builders_config/templates/Dockerfile.lp.j2 +++ /dev/null @@ -1,14 +0,0 @@ -FROM {{grey_builder_image}} - -RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-pip libsnappy-dev python-dev python-msgpack - -ADD http://ns1.px.ftw/~mmarsh/ca-cert.crt /usr/local/share/ca-certificates/ca-cert.crt -RUN update-ca-certificates -ADD pip.conf /.pip/pip.conf - -ADD runtime/ /opt/runtime -ADD invoke /opt/runtime/invoke -ADD bouncer /opt/bouncer/bouncer -ADD lp.conf /etc/supervisor/conf.d/lp.conf - -CMD ["/usr/bin/supervisord"] diff --git a/roles/testbed_builders_config/templates/Dockerfile.vn.j2 b/roles/testbed_builders_config/templates/Dockerfile.vn.j2 deleted file mode 100644 index f43b9fd..0000000 --- a/roles/testbed_builders_config/templates/Dockerfile.vn.j2 +++ /dev/null @@ -1,12 +0,0 @@ -FROM {{grey_builder_image}} - -ADD runtime/ /opt/runtime -ADD invoke /opt/runtime/invoke -ADD bouncer /opt/bouncer/bouncer -{{"ADD vn.conf /etc/supervisor/conf.d/vn.conf" if not deployer else ""}} -ADD authorized_keys /root/.ssh/authorized_keys -ADD planx_key /root/.ssh/id_rsa -RUN chmod 644 /root/.ssh/authorized_keys -RUN chmod 600 /root/.ssh/id_rsa - -CMD ["/usr/bin/supervisord"] diff --git a/roles/testbed_code_checkout/tasks/BlueController_config.yml b/roles/testbed_code_checkout/tasks/BlueController_config.yml deleted file mode 100644 index e89bd7d..0000000 --- a/roles/testbed_code_checkout/tasks/BlueController_config.yml +++ /dev/null @@ -1,70 +0,0 @@ ---- -- name: Clone the BlueController locally, so we can cross-mount it to docker images - git: dest=extsrc/BlueController - repo={{controller_repo}} - version={{controller_version}} - update={{git_update}} - -- name: Clone playbook - git: dest=extsrc/playbook - repo={{playbook_repo}} - version={{playbook_version}} - update={{git_update}} - -- name: Cache BlueController and its dependencies - shell: pip2tgz {{work_dir}}/extsrc/pipcache . chdir=extsrc/BlueController - when: not detached - -- name: Cache deployer and its dependencies - shell: pip2tgz {{work_dir}}/extsrc/pipcache deployer - when: deployer and not detached - -- name: Index the pip cache - shell: dir2pi . chdir=extsrc/pipcache - -# Configure parameters.py -- name: Set the runtime proxy IP address - lineinfile: state=present - dest=extsrc/BlueController/bluecontroller/service/parameters.py - regexp="^RuntimeProxyIp" - line="RuntimeProxyIp = \"{{rt_config.lp_ip}}\"" - -- name: Set the BlueController UUID - lineinfile: state=present - dest=extsrc/BlueController/bluecontroller/service/parameters.py - regexp="^uuid\s*=" - line="uuid = \"{{rt_config.pm_uuid}}\"" - -- name: Disable ATMOS - lineinfile: state=present - dest=extsrc/BlueController/bluecontroller/service/parameters.py - regexp="^UseAtmos" - line="UseAtmos = False" - -- name: Make a list of proxy UUIDs - set_fact: - proxyUUIDs: "{{grey_proxy_routing.nodes|map(attribute='uuid')|list}}" -- name: Make a list of node UUIDs - set_fact: - nodeUUIDs: "{{grey_routing.nodes|map(attribute='uuid')|list}}" -- name: Concatenate the UUID lists - set_fact: - tempNodeList: "{{(proxyUUIDs+nodeUUIDs)|to_json}}" -- name: Set the node list - lineinfile: state=present - dest=extsrc/BlueController/bluecontroller/service/parameters.py - regexp="^TempNodeList =" - line="TempNodeList = {{tempNodeList}}" - -# Configure the luna connection -- name: Set the luna hostname - template: dest=plan/pxluna_configs_mte.py - src=pxluna.configs.mte.j2 - -# Download and unpack NSQ -- name: Download the NSQ tarball - get_url: url={{nsq_uri}} - dest=extsrc/nsq.tgz -- name: Unpack the NSQ tarball - unarchive: src=extsrc/nsq.tgz - dest={{work_dir}}/extsrc/ diff --git a/roles/testbed_code_checkout/tasks/main.yml b/roles/testbed_code_checkout/tasks/main.yml deleted file mode 100644 index 8856882..0000000 --- a/roles/testbed_code_checkout/tasks/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- include: testbed_code_checkout.yml - diff --git a/roles/testbed_code_checkout/tasks/mission_checkout.yml b/roles/testbed_code_checkout/tasks/mission_checkout.yml deleted file mode 100644 index 5d329a9..0000000 --- a/roles/testbed_code_checkout/tasks/mission_checkout.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: Copy over the relevant plans - copy: src={{item.directory}}/ - dest=plan/{{item.id}} - with_items: missions diff --git a/roles/testbed_code_checkout/tasks/runtime_config.yml b/roles/testbed_code_checkout/tasks/runtime_config.yml deleted file mode 100644 index 92a47d1..0000000 --- a/roles/testbed_code_checkout/tasks/runtime_config.yml +++ /dev/null @@ -1,41 +0,0 @@ ---- -# Runtime parameters -- name: Generate family UUID - command: uuidgen - register: family_uuid -- name: Generate plan master UUID - command: uuidgen - register: pm_uuid -- set_fact: - listening_post: "{{grey_proxy_routing.nodes[0]}}" -- set_fact: - rt_config: - lp_uuid: "{{listening_post.uuid}}" - lp_ip: "{{listening_post.address}}" - lp_port: 8889 - pm_uuid: "{{pm_uuid.stdout}}" - pm_ip: "{{plan_master_ip}}" - pm_port: 8888 - family: "{{family_uuid.stdout}}" - -- name: Clone the runtime locally, so we can cross-mount it to docker images - git: dest=extsrc/runtime - repo={{runtime_repo}} - version={{runtime_version}} - update={{git_update}} - -- name: Set the LP IP address in runtime.py - lineinfile: state=present - dest=extsrc/runtime/py/runtime_common/runtime.py - regexp="^ServerIp\s*=" - line="ServerIp = '{{rt_config.lp_ip}}'" -- name: Set the LP port in runtime.py (current mis-spelled version) - lineinfile: state=present - dest=extsrc/runtime/py/runtime_common/runtime.py - regexp="^SeverPort\s*=" - line="SeverPort = '{{rt_config.lp_port}}'" -- name: Set the LP port in runtime.py - lineinfile: state=present - dest=extsrc/runtime/py/runtime_common/runtime.py - regexp="^ServerPort\s*=" - line="ServerPort = '{{rt_config.lp_port}}'" diff --git a/roles/testbed_code_checkout/tasks/testbed_code_checkout.yml b/roles/testbed_code_checkout/tasks/testbed_code_checkout.yml deleted file mode 100644 index 7729659..0000000 --- a/roles/testbed_code_checkout/tasks/testbed_code_checkout.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- include: mission_checkout.yml -- include: runtime_config.yml -- include: BlueController_config.yml - -- name: Trigger the next step - add_host: name=localhost - groups=g_blue_config diff --git a/roles/testbed_code_checkout/templates/pxluna.configs.mte.j2 b/roles/testbed_code_checkout/templates/pxluna.configs.mte.j2 deleted file mode 100644 index 0c91dbf..0000000 --- a/roles/testbed_code_checkout/templates/pxluna.configs.mte.j2 +++ /dev/null @@ -1 +0,0 @@ -LUNA_HOSTNAME = "{{luna_ip}}" diff --git a/roles/testbed_mission_elements_config/tasks/main.yml b/roles/testbed_mission_elements_config/tasks/main.yml deleted file mode 100644 index 77e52db..0000000 --- a/roles/testbed_mission_elements_config/tasks/main.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -- include: testbed_mission_elements_config.yml - diff --git a/roles/testbed_mission_elements_config/tasks/testbed_mission_elements_config.yml b/roles/testbed_mission_elements_config/tasks/testbed_mission_elements_config.yml deleted file mode 100644 index 2cc0a6f..0000000 --- a/roles/testbed_mission_elements_config/tasks/testbed_mission_elements_config.yml +++ /dev/null @@ -1,134 +0,0 @@ ---- -- set_fact: - lp_image_name: lp_image -- set_fact: - vn_image_name: vn_image - -- name: Change the ownership of the built runtime - command: chown -R {{user}} --from=root extsrc/runtime - -- name: Copy the runtime into the listening post - command: rsync -a extsrc/runtime runtime_support/listening_post - -- name: Copy the runtime into the vantage node - command: rsync -a extsrc/runtime runtime_support/vantage_node - -- name: Create the LP image - docker_image: name={{lp_image_name}} - path=runtime_support/listening_post - state=build - nocache=true - -- name: Create the VN image - docker_image: name={{vn_image_name}} - path=runtime_support/vantage_node - state=build - nocache=true - -- name: Bring down the grey builder - docker: image=docker.px.net/px_controller/grey_builder - name=gb - state=absent - when: not keep_builder - -- name: Add the proxy gateways - add_host: name={{item.name}} - ansible_connection=local - gateway="{{item}}" - groups=gateways - sshd_image={{sshd_image}} - work_dir={{work_dir}} - collect=grey_proxy_gateway - capture_bridges={{capture_bridges}} - with_items: grey_proxy_routing.gateways - -- name: Add the vantage node gateways - add_host: name={{item.name}} - ansible_connection=local - groups=gateways - gateway="{{item}}" - sshd_image={{sshd_image}} - work_dir={{work_dir}} - collect=grey_gateway - capture_bridges={{capture_bridges}} - with_items: grey_routing.gateways - -- name: Add the proxies - add_host: name={{item.name}} - ansible_connection=local - groups=networked_nodes - node="{{item}}" - collect=grey_proxy - image={{lp_image_name}} - work_dir={{work_dir}} - pip_cachedir={{pip_cachedir}} - docker_command='/opt/runtime/invoke {{rt_config.lp_uuid}} {{rt_config.family}} {{rt_config.lp_uuid}} {{rt_config.lp_ip}} {{rt_config.lp_port}} {{rt_config.pm_uuid}} {{rt_config.lp_ip}} {{rt_config.pm_port}}' - with_items: grey_proxy_routing.nodes - -- name: Add the vantage nodes - add_host: name={{item.name}} - ansible_connection=local - groups=networked_nodes - node="{{item}}" - collect=grey - image={{vn_image_name}} - work_dir={{work_dir}} - pip_cachedir={{pip_cachedir}} - docker_command='/opt/runtime/invoke {{item.uuid}} {{rt_config.family}} {{rt_config.pm_uuid}} {{rt_config.lp_ip}} {{rt_config.lp_port}}' - with_items: grey_routing.nodes - -- name: Pull the latest version of the other needed images - command: docker pull {{item.image|default(sshd_image)}} - with_items: red_routing.nodes - when: ((not detached) and (red_routing is defined)) - -- name: Add the red node gateways - add_host: name={{item.name}} - ansible_connection=local - groups=gateways - gateway="{{item}}" - sshd_image={{sshd_image}} - work_dir={{work_dir}} - collect=red_gateway - capture_bridges={{capture_bridges}} - with_items: red_routing.gateways - when: red_routing.gateways is defined - -- name: Add the red nodes - add_host: name={{item.name}} - ansible_connection=local - groups=networked_nodes - node="{{item}}" - collect=red - work_dir={{work_dir}} - pip_cachedir={{pip_cachedir}} - image={{vn_image_name}} - docker_command={{item.command|default("/usr/bin/supervisord")}} - with_items: red_routing.nodes - when: red_routing.nodes is defined - -- name: Trigger the next step - add_host: name=localhost - groups=g_wire_networks_together,g_store_output - -- name: Add the plan master for running stuff - add_host: name={{plan_master_docker_ip}} - groups=plan_masters - addr={{plan_master_docker_ip}} - mission_id={{mission_id}} - controller_dir={{controller_dir}} - plan_dir={{plan_dir}} - runtime_dir={{runtime_dir}} - nsq_uri={{nsq_uri}} - nsq_dir={{nsq_dir}} - pip_args="{{pip_args}}" - deployer={{deployer}} - reinstall_runtime={{reinstall_runtime}} - -- name: Load the topology into the core and run the missions - add_host: name={{plan_master_docker_ip}} - groups=g_load_topology,g_run_plan - addr={{plan_master_docker_ip}} - plan_dir={{plan_dir}} - controller_dir={{controller_dir}} - missions="{{missions}}" -- GitLab