Mercurial > code > home > repos > homeauto
annotate service/dhcpleases/tasks.py @ 1334:73c2b13692b7
rewrite dhcpleases to use dnsmasq's data files, and all the new build stuff
Ignore-this: 2dffc17b676253d4fec234fc096db4d5
darcs-hash:be3903ed924e998edd207ac4d8ae336bc64243ba
author | drewp <drewp@bigasterisk.com> |
---|---|
date | Tue, 23 Apr 2019 02:56:07 -0700 |
parents | |
children | d7e82b1b31c4 |
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}') |