What is a Network Namespace?
Network namespaces allow you to have isolated network environments on a single host.
Each namespace has its own interfaces and routing table, separated from other namespaces. In addition, processes on your system can be associated with a specific network namespace.
Network namespace used in a variety of projects such as OpenStack, Docker and Mininet. To deep dive into these projects, you’ll have to be familiar with namespaces and know how to work with them.
Continue reading “Linux: Network Namespace”
This is the second post on Zuul, which focuses on deploying it and its services. To learn what is Zuul and how it works, I recommend to read the previous post.
Methods of deployment
I’ll introduce two ways to deploy Zuul. Both are basically the same, but in one you will have this nice Ansible role which you can execute really quickly, while using the other way will require you to execute each command manually.
For a quick deployment, use the Ansible way. To learn how exactly the deployment is done, step by step, use the manual way.
Continue reading “OpenStack Infra: How to deploy Zuul”
Recently I had the time to explore Zuul. I decided to gather everything I learned here in this post. Perhaps you’ll find it useful for your understanding of Zuul.
I split it into two posts. This post will focus on understanding what is Zuul and how it works. The second post will focus on how to deploy it along with common failures in the process.
What is Zuul?
In the beginning there was only Jenkins. The infra was unformed and broken , darkness and sadness was among developers. So the wise infra people decided to create Zuul.
Continue reading “OpenStack Infra: Understanding Zuul”
What is a signal?
Software interrupts sent to the program to notify on significant event or request the program to run special sequence .
For example, the following command uses SIGHUP signal to request the program to reload it’s configuration
kill -HUP <pid>
Continue reading “Python: How to use signal handlers”
What is a daemon?
Except for nature spirit, a daemon is also a process running in the background, meaning it’s a non-interactive program. It’s detached from the terminal of an interactive user.
There is no easy way to identify which processes on the system are daemonas. It’s common to think that processes with ppid (parent pid) of 1 are daemons, but you can easily create in your terminal interactive process with ppid of 1, meaning not all processes with ppid 1 are daemons.
Continue reading “Python: Run daemon process”