annotate service/dhcpleases/tasks.py @ 1361:e121dc5c09df

mqtt lib wants to encode topic names Ignore-this: 2b72670ac614943e7188419e1aba93b darcs-hash:59524f522f3e7922db38552ea95978df7254cbb6
author drewp <drewp@bigasterisk.com>
date Wed, 01 May 2019 00:06:50 -0700
parents 73c2b13692b7
children d7e82b1b31c4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1334
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
1 from invoke import task
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
2
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
3 JOB = 'dhcpleases'
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
4 PORT = 9073
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
5 TAG = f'bang6:5000/{JOB}_x86:latest'
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
6
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
7
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
8 @task
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
9 def build_image(ctx):
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
10 ctx.run(f'docker build --network=host -t {TAG} .')
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
11
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
12 @task(pre=[build_image])
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
13 def push_image(ctx):
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
14 ctx.run(f'docker push {TAG}')
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
15
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
16 @task(pre=[build_image])
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
17 def shell(ctx):
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
18 ctx.run(f'docker run --rm -it --cap-add SYS_PTRACE --net=host {TAG} /bin/bash', pty=True)
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
19
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
20 @task(pre=[build_image])
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
21 def local_run(ctx):
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
22 ctx.run(f'docker run --rm -it -p {PORT}:{PORT} --net=host -v /opt/dnsmasq:/opt/dnsmasq {TAG} python3 dhcpleases.py -v', pty=True)
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
23
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
24 @task(pre=[push_image])
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
25 def redeploy(ctx):
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
26 ctx.run(f'sudo /my/proj/ansible/playbook -l bang -t {JOB}')
73c2b13692b7 rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
drewp <drewp@bigasterisk.com>
parents:
diff changeset
27 ctx.run(f'supervisorctl -s http://bang:9001/ restart {JOB}_{PORT}')