annotate service/arduinoNode/tasks.py @ 1423:ba56263fe3b2

arduinonode to docker Ignore-this: 8f689c7491819bc47200018b517fd7de darcs-hash:e3602fc781c7b66e98ca950d5782ecc41e506bad
author drewp <drewp@bigasterisk.com>
date Wed, 07 Aug 2019 20:23:04 -0700
parents
children 458355ee1b99
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1423
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
1 from invoke import task
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
2
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
3 JOB = 'arduinoNode'
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
4 PORT = 9059
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
5 TAG = f'bang6:5000/{JOB.lower()}:latest'
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
6 ANSIBLE_TAG = JOB
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
7
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
8 @task
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
9 def build_image(ctx):
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
10 ctx.run(f'docker build -t {TAG} .')
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
11
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
12 @task(pre=[build_image])
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
13 def push_image(ctx):
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
14 ctx.run(f'docker push {TAG}')
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
15
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
16 @task(pre=[build_image])
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
17 def shell(ctx):
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
18 ctx.run(f'docker run --name={JOB}_shell --rm -it --cap-add SYS_PTRACE --net=host --device=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900cepU-if00-port0 -v `pwd`/config:/opt/config {TAG} /bin/bash', pty=True)
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
19
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
20 @task(pre=[build_image])
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
21 def local_run(ctx):
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
22 ctx.run(f'docker run --name={JOB}_local --rm -it -p 9059:9059 --device=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A900cepU-if00-port0 --net=host --dns 10.2.0.1 --dns-search bigasterisk.com {TAG} python ./arduinoNode.py -v', pty=True)
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
23
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
24 @task
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
25 def push_config(ctx):
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
26 ctx.run(f'docker run --rm --net=host -v `pwd`/config:/opt/config bang6:5000/arduino_node python pushConfig.py arduino/')
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
27
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
28 @task(pre=[push_image])
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
29 def redeploy(ctx):
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
30 ctx.run(f'sudo /my/proj/ansible/playbook -l bang -t {ANSIBLE_TAG}')
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
31
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
32 @task
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
33 def lightsout(ctx):
ba56263fe3b2 arduinonode to docker
drewp <drewp@bigasterisk.com>
parents:
diff changeset
34 ctx.run(rf'curl http://bang:9059/output\?s\=http://projects.bigasterisk.com/room/speakersStrips\&p\=http://projects.bigasterisk.com/room/x -XPUT -v -d 199')