OpenNMS’ week-long annual IT conference, hackathon, and get-together for the global OpenNMS development community wrapped up Friday, July 31.
Event Held in Minecraft
The Covid-19 pandemic forced the normally in-person Dev Jam online, but with a twist. The event was held in Minecraft, customized with OpenNMS in mind.
“OpenNMS has a community full of amazing people who make DevJam feel more like a family reunion than a conference. We really enjoy getting together to work on pet projects and catch up,” says Jessica Hustace, Marketing Director at The OpenNMS Group.
“Since we decided to carry on the tradition of DevJam virtually, we wanted to do our best to recreate the feeling of being together in person. We needed a platform-agnostic immersive environment that we could customize and that was relatively accessible for everyone. Minecraft met all three criteria. It was really fun to see everyone customize their avatar and run around the world together!”
“Minecraft has a lot of advantages for something like this. It's easy to learn and fun, and the possibilities are endless in its open world,” says Zoë Knox, VP of Engineering at OpenNMS. Several OpenNMS staff had experience running Minecraft servers and writing plugins, making it a good choice for customization.
“We wanted it to look "grand" so we chose a stunning map called Monument Valley – available online – as the starting point,” she adds. “A small group of us then hollowed out some of the buildings and built interior conference spaces, an outdoor stage and benches, and other interesting elements. I created a big "DevJam 2020" sign floating in front of the main building. It wasn't particularly hard to do but it did take most of two weeks of spare time to get everything how we wanted.”
The group added a Mumble server and MumbleLink mod to get positional audio to create a very intuitive experience.
“You walk towards someone, and they get louder. Walk away, and you don't hear them anymore,” Zoë says. “This gave us the multiple conversations that we wanted, and the natural feel of being in the room with people.”
Chris Manigan, Director of Information Technology at OpenNMS, built the Minecraft server in Amazon Web Services (AWS). He did not allocate a lot of resources at first, as he didn’t know how popular it would be.
“After our first real session, I quickly realized the memory I had allocated for Minecraft was not enough, so after that session I doubled the memory Minecraft was allowed to use,” he says. “It was barely enough, but it got us through the week and even allowed us to host a couple of plugins that were developed as projects for Dev Jam. I believe we had more than 30 people connected at one point, all lighting off fireworks and throwing tridents at each other.”
Chris says that the Minecraft server remains online to demo the plugin projects that were developed during the week. “I would like to see the server live on for a while, and possibly be revisited for future Dev Jams,” he adds. “I would build it out a little better for next time. Perhaps the first OpenNMS>Minecraft plugins developed will inspire more in the future.”
Exciting New Projects
“I look forward to DevJam every year because I enjoy seeing so many other passionate people like me about building open-source software,” says CTO Jesse White. “While we weren’t able to meet face to face this year, we were still able to come together as a community, share some virtual experiences, and expand the platform in exciting ways.”
Dev Jam always ends with presentations of some of the work people accomplished during the week. This year, we live-streamed twelve presentations on our Twitch channel, with over 100 live views. The projects covered a wide range of topics:
- Automating testing of code and command snippets used in the documentation (Dustin)
- Project management tools and techniques customized for OpenNMS (Sandy and Greg)
- Delivering push notifications to mobile devices with React Native (Qauseen)
- Karaf shell command polishing (Jeff)
- Usability lab to observe user experience with installing a Minion (Jessica, Ronny, and Bonnie)
- Time series integration layer (Patrick)
- Building client libraries derived from a single Kotlin codebase (Matt)
- Raspberry-Pi running Minion with extra sensors and an LCD screen (Pierre)
- gRPC support for event and alarm-related interfaces in the OIA (Chandra and Alejandro)
- Gominion: an implementation of Minion in Go (Alejandro)
In keeping with the Minecraft theme, two presentations made use of the game.
Zoë created a network operations centre in Minecraft, that displayed real-time data from an OpenNMS instance.
A demonstration of Jesse’s project to integrate PagerDuty saw him receive an alert on his phone when more than 10 players entered a certain zone in the Minecraft world.
Other DevJam projects included:
- Porting DJ’s integration test enhancements to the head of the tree (Ben)
- Strides in getting the project to build with JDK11+ (Ron)
- Enhancing the SNMP Interface Poller to handle failed SIP dial peers better (David)
- Interfacing with OpenNMS’ REST API from Python (Mark)
- Improved support for collecting metrics from Prometheus’ node_exporter (Marcel)
- Migrating node asset fields to the new meta-data tables (Christian)
“That’s quite a lot of activity for a single week!,” says Jess. “I am thrilled to be a part of the team at The OpenNMS Group and look forward to continuing to work with our open-source community and customers that help support the project.”
To read about more of the presentations worked on at Dev Jam, check out the board on Discourse.
A Huge Success
“Overall I think Virtual DevJam was a big success!,” says Jess. “Everyone had fun choosing skins for their character, throwing tridents and shooting bows at each other, and building a minecart rollercoaster at the infamous Mouse Bar. Despite not being physically in the same room, it certainly felt like we were all together. I take that as a win.”
Until Next Year
Dev Jam has evolved over the years, and will continue to do so, particularly as OpenNMS grows.
Keeping us informed for next year, Jess states, "Hopefully we can all join together next year for a more traditional DevJam! Until then, I hope everyone can stay safe and well. DevJam is an important part of the OpenNMS family. We love hacking on the project together and building our community into one of the most loving and welcoming spaces on web. Finally, I'd really like to thank everyone in the team who pitched in to make the first virtual DevJam successful."