OpenDaylight Symposium 2016

I’ll write this later.  Keywords and notes inline











Open Source




OSI stack


Developers and users working together.

Fast Dev/Test cycles

Sessions start at 10:30

Message bus

Minimal install needs to be smaller

Most functionalities must be implemented in modules

Upgrade path complexity

Out of band control channel.
OPNFV customers don’t run stock releases, make customisations and plugins easier.

Message bus

Distribution vendors should not be expected to perform package maintenance.  Get the distribution ready for fast pathing in to backports, security, testing  and unstable.

Posted in android, Azure, centos, colliertech, customer experience, debian, dns, ESXi, Free Software, freenode, irc, jessie, kvm, libvirt, linux, lvm, microsoft, network saturation, Networking, open source, qemu, quagga, rate limiting, Software, Telephony, traffic shaping, ubuntu, VBox, virtualization, washington, wheezy, work, xen | Leave a comment

virt manager cannot find suitable emulator for x86 64

Looks like I was missing qemu-kvm.

$ sudo apt-get install qemu-kvm qemu-system

Posted in debian, Free Software, kvm, libvirt, linux, open source, qemu, ubuntu, virtualization | Leave a comment

Some work on a VyOS image with Let’s Encrypt certs

I put some packages together this weekend. It’s been a while since I’ve debuilt anything officially.

The plan is to build a binding to the API. The certtool CSR (REQ) generation interface does not allow me to create a CRL with “not critical” attributes set on purposes. Maybe if I do it a bit closer to the metal it will be easier…

Posted in 2016, colliertech, cryptography, debian, Free Software, git, gnutls, gpl, irc, kvm, libvirt, linux, Networking, perl, proliant, qemu, security, sid, Software, virtualization, vyos, washington | Leave a comment

OMG Maven 3.0.4 on stretch

“Why?”, you might ask, would one want to run something other than the most recent version of Maven on the very newest and fangledest breed of the linux distribution we have all loved for so long.

“Because!”, I might answer, I’m trying to get the nexus-apt-plugin working on, and the version of nexus we’re running there explained to me in quite uncertain terms that it would talk to no other version of maven than 3.0.4 or something else that is not packaged for debian.

So I grabbed the source for version 3.0.4 from wheezy and patched it up to work with stretch:

$ cd /usr/src/deb
$ dget
$ cd maven-3.0.4
$ perl -i -pe 's/(libmodello-maven-plugin)1.4(-java)/$1$2/' debian/control
$ quilt pop -a
$ quild push 1
$ perl -i -pe 's/-1.4.x\.jar/.jar/' build.xml
$ perl -i -pe 's/google-collections/guava/' build.xml
$ perl -i -pe 's/\s+$//' build.xml
$ quilt refresh
$ quilt pop
$ quilt push -a
$ debuild -uc -us
$ sudo apt-get remove maven libmaven3-core-java
$ sudo dpkg -i ../maven_3.0.4-3+deb7u1_all.deb

And now I can build the silly nexus-apt-plugin…

$ mkdir -p /usr/src/git/github
$ git clone /usr/src/git/github/nexus-apt-plugin
$ cd /usr/src/git/github/nexus-apt-plugin
$ mvn compile && mvn -q test
Posted in CLI, compiler, debian, Free Software, Linux Foundation, Nexus, sid, Software, stretch, wheezy, work | Leave a comment

The Provisioning Act of 2016


Posted in Uncategorized | Leave a comment

My new rig

Go ahead and drool.


Posted in Uncategorized | Leave a comment


Hello dear readers and attendees,

This is the post that I will be/ will have been referencing during my presentation to the Seattle Central Community College’s Byte club on Thursday, December 10th at 1500-1630.

I will begin with a bit of an autobio and find out what kind of students we have in attendance. Please feel free to comment if you’d like to keep in touch before or after the presentation. I will discuss some of the bits and pieces of some industry standard platforms which I’ve developed, deployed, maintained, managed, co-operated, administered and replaced. We can discuss some of the patterns that work well in the industry, and some that are a bit harder to tame.

Once we have touched most of the areas of specialization represented at the meeting, I will dive in to an AngularJS demo I am developing in github here:

To follow along with the presentation, please run these commands or something similar. My development environment is Debian stable. So yes, this means that we’re not doing a demo of the state of the art. But it also means that the infrastructure has been exercised under load and in production.

Install Debian package dependencies

First, install the debian packages of nodejs and npm, the node package manager:

cjac@debian0:~$ sudo apt-get install nodejs nodejs-dev nodejs-legacy npm

Check out the git repository

After this, check out the repository from github and create a branch for your work:

cjac@debian0:~$ mkdir -p /usr/src/git/github/LLC-Technologies-Collier
cjac@debian0:~$ cd /usr/src/git/github/LLC-Technologies-Collier
cjac@debian0:/usr/src/git/github/LLC-Technologies-Collier$ git clone
cjac@debian0:/usr/src/git/github/LLC-Technologies-Collier$ cd Demo-SCCC-Byte-AngularJS
cjac@debian0:.../Demo-SCCC-Byte-AngularJS$ git checkout -b $USER

Upgrade to latest npm, install deps

Once we have the git repository checked out, we’ll grab the latest version of npm and the rest of the node modules

cjac@debian0:.../Demo-SCCC-Byte-AngularJS$ export PATH="$PWD/node_modules/.bin:$PATH"
cjac@debian0:.../Demo-SCCC-Byte-AngularJS$ npm install --save-exact npm@"2.1.0"
cjac@debian0:.../Demo-SCCC-Byte-AngularJS$ npm install --save-exact `cat pkgackage-list.txt`

This post and the associated git repository will be updated between now and the presentation on Thursday. Please chime in and feel free to get involved!


Posted in 2015, ajax, C.J. Insider, colliertech, cryptography, css, Databases, debian, Free Software, freenode, git, Hardware, html, irc, javascript, jessie, linux, mail, microsoft, mysql, Networking, open source, perl, security, Software, Telephony, ubuntu, VBox, virtualization, washington, wiki, winter, x509 | 3 Comments

Regarding fdupes

Dear readers,

There is a very useful tool for finding and merging shared permanent storage, and its name is fdupes. There was a terrible occurrence in the software after version 1.51, however. They removed the -L argument because too many people were complaining about lost data. It sounds like user error to me, and so I continue to use this one. I have to build from source, since the newer versions do not have the -L option.

And so there you are. I recommend using it, even though this most useful feature has been deprecated and removed from the software. Perhaps there should be a fdupes-danger package in Debian?

Posted in colliertech, debian, Free Software, git, linux, open source, Software, ubuntu | 4 Comments

I think I just accidentally the whole Seattle EDM scene

It was unintentional, I promise.

PS, what are you doing the night before Samhain this year? Feel like giving me and my bike a ride to Bellingham?

Posted in 2015, EDM, friends, KF7BMP, KHNC, network saturation, Radio, social networking, spirituality, wanderers, washington, Yaima | Leave a comment

Some statistics from the router at the cabin

sip0 is a GRE tunnel between the router and the colo box in Seattle, the payload of which is encapsulated as ipsec traffic before being transmitted over the Ubiquity equipment to the switch that the CenturyLink DSL modem attaches to. I don’t get centurylink easter eggs in my search results when I use this interface.

eth9 is the local gigabit transceiver. Attached directly to a SIP phone which bridges to a gigabit switch, on which the Ubiquity equipment participates.

lo is the local loopback interface, of course. Good old 127/8

usb1 is the 100Mbit USB NIC to which the WRT54G with ssid ‘’ is attached. The vast majority of the traffic originates on this interface.

cjac@wanjet1:~$ uptime
 09:11:18 up 32 days, 18:33,  6 users,  load average: 0.00, 0.01, 0.05
cjac@wanjet1:~$ sudo ifconfig
[sudo] password for cjac: 
eth9      Link encap:Ethernet  HWaddr 00:26:b9:e3:9b:47  
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::226:b9ff:fee3:9b47/64 Scope:Link
          RX packets:176060020 errors:4 dropped:12 overruns:0 frame:2
          TX packets:131573705 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:216753073131 (201.8 GiB)  TX bytes:30777442696 (28.6 GiB)
          Interrupt:20 Memory:f5400000-f5420000 

lo        Link encap:Local Loopback  
          inet addr:  Mask:
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:3423 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3423 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:392714 (383.5 KiB)  TX bytes:392714 (383.5 KiB)

sip0      Link encap:UNSPEC  HWaddr 64-40-6A-02-30-30-3A-30-00-00-00-00-00-00-00-00  
          inet addr:  P-t-P:  Mask:
          inet6 addr: fe80::200:5efe:6440:6a02/64 Scope:Link
          inet6 addr: 2607:ff08:f5:1338::6440:6b02/126 Scope:Global
          RX packets:468792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:297314 errors:30556 dropped:5 overruns:0 carrier:30549
          collisions:0 txqueuelen:0 
          RX bytes:512744498 (488.9 MiB)  TX bytes:21652345 (20.6 MiB)

usb1      Link encap:Ethernet  HWaddr 40:3c:fc:01:35:a5  
          inet addr:  Bcast:  Mask:
          inet6 addr: fe80::423c:fcff:fe01:35a5/64 Scope:Link
          RX packets:131960908 errors:0 dropped:0 overruns:0 frame:0
          TX packets:175522396 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:28447118558 (26.4 GiB)  TX bytes:216131320364 (201.2 GiB)
Posted in 2015, cisco, colliertech, cryptography, debian, Free Software, gpl, Hardware, ipsec, jessie, linux, Networking, performance, production, rate limiting, security, SELinux, Software, Telephony, tls, washington, wireless, work, x509 | Leave a comment