conn-check-talk



conn-check-talk

1 1


conn-check-talk

conn-check - the talk

On Github 1stvamp / conn-check-talk

conn-check

testing infrastructure and deploys, with style

Wes Mason

@1stvamp

Who?

History

  • UbuntuOne
  • Connections to Amazon S3, music providers, multiple databases/caches etc.
  • Strictly controlled firewall

History cont.

  • conncheck.py
  • Twisted app
  • Checks outgoing connections required to verify the U1 app will work

conn-check

  • Network connection verification utility
  • Multiple protocols
  • Asynchronous network connections
  • Monitoring
  • Testing

How does it work?

- type: tcp
  host: login.ubuntu.com
  port: 80
- type: udp
  host: localhost
  port: 8080
  send: aaaa
  expect: bbbb
  tags:
    - foo

How does it work? cont.

- type: tls
  host: login.ubuntu.com
  port: 443
  verify: true
  tags:
    - bar
- type: redis
  host: 127.0.0.1
  port: 6379
  password: foobared

How does it work? cont.

- type: http
  url: https://login.ubuntu.com/
  tags:
    - foo
    - bar
- type: memcache
  host: 127.0.0.1
  port: 11211

CHECK ALL THE THINGS!!1

udp, tcp, tls, http(s), postgres, amqp, mongodb, memcached, smtp, redis

Coming soon

keystone, swift, snmp, mysql

(honest, I have branches)

But, handwriting YAML is for suckers!

  • Yes, yes it is.
  • Meet conn-check-configs.
  • Python library and utilities.

conn-check-configs

Generate YAML from..

  • ..Django settings modules
  • ..Juju environments
  • ..live environments with packet sniffing

Monitoring

  • Nagios plugin return standards
  • !=0 exit code == bad
  • Configurable timeouts
  • Output formatted for debugging/oncall

Juju?

sys.exit(0)

^D