Home

Editing Files in a Docker Container

Leave a comment

This is the quick and easy way I learned to edit some files within a Docker container. Professional DevOps engineers might be doing it in a different way, this is the network engineers way of doing things 😉

 

 

-Rakesh

Pomodoro Timer with Esp8266 ,micropython and slack – a small weekend project

Leave a comment

 

Hi All,

Pomodoro technique is really effective, more than the technique it’s more or less like a good stress buster to me.

https://en.wikipedia.org/wiki/Pomodoro_Technique

There are few problems with the timer management

1.  It’s impractical for me to manually add 25-minute timer every time

2. I can do a small script but again my computer should always be on

3. Use some app or use a timer with sound (both of them are really disturbing for myself and also colleagues around me)

What did I use

  1. With anything involving DIY/IoT, there are two important aspects – It should be small and portable and secondly, cost should below.

Components Used :

  1. ESP8266
  2. 0.96Inch 128×64 OLED display (Pictures below)
  3. Micropython ( I could have gone with C++ but honestly I don’t know the language, hence I had to go through a lot of pain to make it work in microphone)
  4. Slack for daytime notifications about timer stages

Challenges :

  1. How do I make sure I don’t look at the clock every 25 minutes? Sound is not an option, so I used a slack webhook to notify me
  2. Code was big and hence there were memory allocation issues in micro-controller, used mpy_cross to compile code and transport to micropython (http://docs.micropython.org/en/latest/index.html)
  3. Overall project cost – Less than 3.5 USD

code used :

https://github.com/yukthr/auts/tree/master/pomodoro_esp8266

 

For every 25 Mins, it would indicate a 5-minute non-compulsive break and after 2.5 Hours a compulsive break of 15 minutes. It’s understandable that in our nature of work we might be in a call or meeting or a code review, but just a small a non-compulsive reminder that we have a 5m break for hydration or fresh air does really improve thought process and most importantly is a de-stressor.

 

 

-Rakesh

Grafana and Influx – Infrastructure Engineers Language

Leave a comment

If you want to understand what Infra engineer speaks and use a tool provided by them you need to have some exposure to the tool itself, you don’t have to be an expert.

 

Monitoring systems that I see nowadays are mostly centric around Prometheus while the Database used for storing any time-series events is InfluxDB. How do you actually map beautifully, its via Grafana

Grafana – https://grafana.com/

Influxdb – https://www.influxdata.com/

Prometheus – https://prometheus.io/

Now the problem here is that many tools are programmed on a daily basis, from a Network Engineer point of view I understood a few things. 

Not everything you need to know the end to end like an Expert for that tool and some choices is purely based on Cost than anything else. 

How would you really understand this? I set up a BME680 sensor in my home and will precisely use Grafana and Influx to map the recordings

Tools Used 

https://learn.adafruit.com/adafruit-bme680-humidity-temperature-barometic-pressure-voc-gas

Raspberry Pi 3

Docker Images – Grafana and Influx

Sample Influx Script – https://github.com/yukthr/auts/blob/master/random_programs/influx-test.py

And finally Beautiful Grafana

All of this is open source and are not hard after the invent of Docker. Give it a try so that we ultimately understand networks in a better way.

 

-Rakesh

 

 

Tmux – Am liking it

Leave a comment

Typically Linux admins always appreciate VI editor, I always used to like Nano Editor until I realized how good VI actually is.

But this post is not about Vi Editor as such, this more about Tmux a Terminal Emulator

https://github.com/tmux/tmux

What is the beauty, Its more like a GNU Screen Program, but does so much more than GNU screen.

 

Example is below

Screen Shot 2019-05-25 at 11.38.39 AM

 

-Rakesh

 

Alexa , AWS Lambda & AWS IOT MQTT and you can interact with anything

Leave a comment

I hear a lot on IOT but don’t have a clue on underlying protocols. My interest is only to understand how it might help a business or more than that my personal interests. So continuing the server power on/off series I wanted to do it with Amazon echo voice command. Now, this is not a smart power switch where you can power-on with a command on Echo but you actually have to send a message to IDRAC, we already covered this in a previous post.

Well, the main goal isn’t to power-on a server that can be done manually as it sits beside me, the main goal is to extend this to any business / personal ideas which might get the benefit.

Summary – Develop a small interactive model to understand Alexa voice service / AWS lambda and MQTT so that we can get a feel of what can be achieved with this.

I will not go much into any tech explanations or bore you with English, I will put here two screenshots and code to git, hopefully, you should be able to give it a try.

 

Its illustrated in 6 steps

  1. Voice command to echo (I have made developer skill on developer Alexa portal – Its free and its easy. Lot of blueprints)
  2. Alexa portal interacts with AWS Lambda (serverless)
  3. AWS Lambda communicates the message in JSON format to AWS IOT
  4. Raspberry PI listens to a particular MQTT channel for the type of message
  5. Depending on the incoming message JSON, Raspberry pi Matches the string and invokes the further script.

 

 

 

Code to Git link

https://github.com/yukthr/auts/tree/master/random_programs/alexa

-Rakesh

Python Decorators – From a Network Engineers Perspective

Leave a comment

As going through learning some basic programming, I encountered Decorators. I should be very honest if any of you are trying to figure out or learn what decorators in python do from my blog post you are dangerously in trouble.

So what this post about if not learning, well its mostly on what the functionality is so that you can learn the concept from better programming resources.

 

Let’s examine the below code

 

The output will be something like below

 

What’s in this code:

The first thing you have to realize is that some representation with ‘@’ symbol. If you have noticed get_reinfo and get_modelinfo functions, they have one thing in common which is to connect to the device and get output before they parse the required fields, that what a Decorator is helping us to do here, we extend that wrapping functionality around new functions without having to write everything or globalize everything.

At least that is what I understood.  So, next time when you are writing some code try to think if you can incorporate decorators into them.

-Rakesh

 

Emulating Juniper Devices – Various options

2 Comments

Hi,

I have got a lot of requests for writing up a blog post on various Methods of emulating Juniper devices for practice.

Note : For 2/3 methods to work, you need to have official Junos software (vmx-vcp and vmx-vfp)

Method 1 – Gns3

Most popular and Familiar Method – Install via gns3

After installing Gns3, download the

Vmx-vfp Appliance – https://docs.gns3.com/appliances/juniper-vmx-vfp.html

Vmx-vcp Appliance – https://docs.gns3.com/appliances/juniper-vmx-vcp.html

Documentation is straight forward, all you need to do is double click on the appliance and upload the image when requested, as easy as it can get.

 

Method2 – Vagrant

Use Juniper uploaded Images via vagrant.

Most of Juniper Vqfx / JNCIE-DC practice came up from a vagrant, You don’t need to have any official images or access to Juniper software downloads. The downside is that it only supports VQFX and generic SRX, but for most of the Routing protocol and MPLS learning this should be good.

https://app.vagrantup.com/boxes/search?utf8=%E2%9C%93&sort=downloads&provider=&q=juniper

https://app.vagrantup.com/juniper/boxes/vqfx10k-re

https://app.vagrantup.com/juniper/boxes/vqfx10k-pfe

Again, following Github link, will auto setup the topology without you worrying about much details to vagrant.

https://github.com/Juniper/vqfx10k-vagrant -> Go into a specific folder and say vagrant up, that should take care of installing and bringing up the boxes

 

Method3- My personal favorite as of now – Advanced Method.

Via Docker

A good blog post on how to do it

Deploy Juniper vMX via Docker Compose

but am following the method from VRNET lab package from Github, it took a while to figure out the specific way to set up this after reading instructions but its really worth it.

https://github.com/plajjan/vrnetlab

You need to have some understanding of Docker and need to read up how to set up connectivity between containers, but once you get to know it most of it can be scripted and automated.

There are some other paid and free emulated tools but most of it I wanted to reduce the scope which is supported by a global group of people via Git and it will have a future scope of development when compared to Tools which are closed source.

 

-Rakesh

 

 

 

Older Entries