Skip to main content

Posts

Showing posts from 2020

Mouse is not working in VirtualBox VM(Install guest addition on RHEL8/CentOS8)

If you are unable to move mouse curser on full screen in your VirtualBox vm, this is the correct article to fix this issue. To fix this issue we need to install  gcc, make, perl, kernel-devel and  elfutils-libelf-devel  packages and after that guest addition has to be installed. I am considering that yum is configured on your system. So lets start with installation of packages. Step1: - Install mentioned packages using dnf/yum [root@localhost ~]# yum install gcc make perl -y [root@localhost ~]# yum install kernel-devel -y [root@localhost ~]# yum install elfutils-libelf-devel -y Step2: -  Insert Guest Additions CD image... Step3: - Check if Guest Additions mounted  [root@localhost ~]# df -hT |grep VBox /dev/sr0              iso9660    58M   58M     0 100% /run/media/root/VBox_GAs_6.1.12 [root@localhost ~]# cd /run/media/root/VBox_GAs_6.1.12 [root@localhost VBox_GAs_6.1.12]# ll V...

Please add this host's fingerprint to your known_hosts file to manage this host

Error: - 192.168.43.216 | FAILED! => {     "msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this.  Please add this host's fingerprint to your known_hosts file to manage this host." }  If you get above error message on Ansible controller that means your managed host are not added to known hosts. You can fix this issue in two way: - 1. Add " host_key_checking = false " in ansible.cfg( best practice ) [root@ansible ssh]# cat >> /etc/ansible/ansible.cfg host_key_checking = false Let's check if issue has been fixed, If I am getting "ping": "pong" response that mean the issue has been fixed. [root@ansible ssh]# ansible all -m ping 192.168.43.72 | SUCCESS => {     "ansible_facts": {         "discovered_interpreter_python": "/usr/libexec/platform-python"     },     "changed": false,     "ping": ...

Ansible ad-hoc commands and playbook

In previous post we have understood the usage and basics of Ansible. Also we have have installed Ansible on RHEL8 and setup our Lab environment so that we can practice. Now this is time to move ahead and learn more about Ansible and see how we can use an intelligent configuration management automation tool in our environment. There are two types of automation approaches we can adopt in our environment for configuration management: - 1. Traditional Automation: - Automation using scripts which can be written in any scripting language (Shell, Perl, Python etc.). In this approach as per requirement we write a script and whenever we run this script it do the needful. This kind of automation works fine until there is any change in environment. But as we know this is not possible, our environment keep on changes and slight change may fail our automation completely. How? Example: - Configure httpd on RHEL6 , below are the simple commands we use to configure httpd in RHEL6. Which we can put ...

Introduction to Ansible

Introduction to Ansible :- Ansible is a very intelligent and powerful tool in terms of Configuration management. In very simple language we can say that it is a  configuration management automation tool.  Apart from that it has capability to do multiple of things in IT world like  software provisioning  and  application-deployment tool enabling infrastructure as code . In terms on platform support, so it can be run on UNIX/Linux system and can configure UNIX/Linux and Windows both kind of operating systems.  From today onward I'll start posting each and everything about Ansible, so you can start an technical journey which will help you to learn Ansible tool from zero to advance level. Since it is very first day so we will try to setup our lab environment and also try to do a simple configuration on a remote host.  I have two RHEL8( Red Hat Enterprise Linux 8 ) virtual machine installed on Oracle VirtualBox machines. The host on which we install...

AWS cloud automation using Terraform

In this post I'll create multiple resources in AWS cloud using Terraform . Terraform is an infrastructure as code( IAC ) software which can do lots of things but it is superb in cloud automation. To use Terraform we have write code in a high-level configuration language known as Hashicorp Configuration Language , optionally we can write code in JSON as well. I'll create below service using Terraform- 1. Create the key-pair and security group which allow inbound traffic on port 80 and 22 2. Launch EC2 instance. 3. To create EC2 instance use same key and security group which created in step 1 4. Launch Volume(EBS) and mount this volume into /var/www/html directory 5. Upload index.php file and an image on GitHub repository 6. Clone GitHub repository into /var/www/html 7. Create S3 bucket, copy images from GitHub repo into it and set permission to public readable 8 Create a CloudFront use S3 bucket(which contains images) and use the CloudFront URL to update code in /var/w...

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? Root cause of this error message is only that DOCKER_HOST variable has not been exported to all the users. In my case it was working fine while I was running docker commands as root user but when I tried the same commands from Jenkins, didn't work. To understand this issue in detail let me create such environment and see troubleshooting steps. Docker Host - [root@server106 ~]# hostname server106.example.com Docker Client - [root@server109 ~]# hostname server109.example.com [root@server109 ~]# docker ps -a CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES [root@server109 ~]# docker ...

docker: Error response from daemon: OCI runtime create create failed

docker: Error response from daemon:  OCI runtime create create failed: container_linux.go:348: starting container process caused "exec: \"/usr/sbin/init\": stat /usr/sbin/init: no such file or directory": unknown. If you are getting above error message trying to launch a container. Simple fix of this error message is to set SELinux in permissive mode. [root@server109 docker-ws]# setenforce 0

Docker project

Since last few weekend I am learning Docker. A great initiative from Linux word under IIEC Rise and guidance of Vimal Daga. At the completion of this training I have implemented container technology and created my own monitoring system(Moatis). Project steps:- Pull centos:7 image I created a volume for persistent storage  Launched a container Exposed it to public Login into newly created centos container Deployed Nagios Setup monitoring on few hosts Tested if each and everything is working fine or not. Please check below for all the commands which I have executed to complete this project. Commands I have executed on Container Host -    176  podman container ls   177  podman container ls -a   178  podman image ls   179  podman volume create mymoatis   180  podman volume inspect mymoatis   181  cd /var/lib/containers/storage/mymoatis/_data/   182  ls   183  pod...

Failed to get D-Bus connection: Operation not permitted

" Failed to get D-Bus connection: Operation not permitted " - systemctl command is not working in Docker container. If systemctl command is not working in your container and giving subjected error message then simple solution of this error is, create container with -- privileged option and also provide init file full path  /usr/sbin/init [root@server109 ~]# docker container run -dit --privileged --name systemctl_not_working_centos1 centos:7 /usr/sbin/init For detailed explanation and understanding I am writing more about it, please have look below. If we have a daemon based program(httpd, sshd, jenkins, docker etc.) running inside a container and we would like to start/stop or check status of daemon inside docker then it becomes difficult for us to perform such operations , because by default systemctl and service  commands don't work inside docker. Normally we run below commands to check services status in Linux systems. [root@server109 ~]# systemctl status ...

Dockerfile, Create your own container image

Dockerfle is a very important concept to create you own container image. However there are lots of images available on docker hub but these are standard images and creators of these images are not aware about our requirement and environment. In this situation we need our own images. There are two way to create your own container images. docker commit - We can create our own images using 'docker commit' command but only limited feature available in this approach. In below command centos  is my existing container name and webserver:v1 is my new image name and version. [root@server109 docker-ws]# docker pull centos [root@server109 docker-ws]# docker container commit centos webserver:v1 docker build - A powerful approach to create a container image, We can customize our image as more as customization required. This approach is also known as Dockerfile approach. As of now I have below images available in my environment but I need an image which has  net-...

CNN(Convolutional Neural Network) - Machine Learning - part 2

We have understood basics of CNN in detail in my  previous post  post now this is time to write our own code and start create our own CNN model. Please have a look on below images to understand high level CNN architecture. We shown in picture we need multiple layers in CNN so we will create multiple layers for different purpose. So let's start writing code - First layer - Convolution layer Second layer - pooling layer (For minimize the size) Third layer - Flatten layer (To convert data from 2D to 1D) Fourth layer - Dense layer (For neural network) from keras.layers import Convolution2D from keras.layers import MaxPooling2D from keras.layers import Flatten from keras.layers import Dense model = Sequential() model.add(Convolution2D(filters=32,  kernel_size=(3,3),  activation='relu',  input_shape=(64,64,3)  ) ) model.summary() Model: "sequential_3" _________________________________________________________________ Layer (type) ...

DevOps : Integration of Git, GitHub, Jenkins, Docker and Linux

  If you have knowledge of a subject, it is always great but if know how and where you can utilize it became your talent. Likewise if you have knowledge of some technologies and also know how to use them. In other words I would like to say, you know how to integrate these technologies? Just by doing this you can create your own product, you can become a creator. I have lots of examples of it, but one of them is OpenStack (Collection of lots of services like Glance, shift, cinder, nova, neutron, Gnocchi etc).   I am also writing this post to show you an interesting demo. In which I'll integrate multiple tools like Git, GitHub, Jenkins, Docker, Linux etc. and I will try to solve a use case. We have a web app developed by multiple developers will be first of all deploy in test environment, Then it will be checked by UAT team and if everything is fine and approved all the requirement from QAT team then automatically deployed in production environment. So lets start with...