Friday, 29 September 2017

Working with PuppetLabs Using Vagrant

While working as DevOps Engineer one of the tools by definition that we use more, often is Puppet. Guess most people will think that you are 100% expert, which is not always the case. So, I need to create this post and track record of my own experiments with Puppet and (PuppetLabs + Vagrant)

You might as what is Vagrant ?
==> "Vagrant is an open-source software product for building and maintaining portable virtual software development environments, e.g. for VirtualBox, Hyper-V, Docker, VMware, and AWS. ... Vagrant simplifies the necessary software configuration management in order to increase development productivity. " read more here:

The initial indentation was to gain better understanding puppet file structure. So, I decided to use Puppetlabs for this ...

So, basically. I did create installed

  • Installed Vagrant
  • Used the Vagrant init command to pull the puppetlabs ubuntu VM
  • Which created a file "Vagrantfile"
  • created a dir puppetlabs

And then started the Setup, so here are the Logs ..

Tdls-Air:puppetlabs psalms91$ vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Box 'puppetlabs/ubuntu-16.04-32-puppet' could not be found. Attempting to find and install...
    default: Box Provider: virtualbox
    default: Box Version: 1.0.0
==> default: Loading metadata for box 'puppetlabs/ubuntu-16.04-32-puppet'
    default: URL:
==> default: Adding box 'puppetlabs/ubuntu-16.04-32-puppet' (v1.0.0) for provider: virtualbox
    default: Downloading:
==> default: Successfully added box 'puppetlabs/ubuntu-16.04-32-puppet' (v1.0.0) for 'virtualbox'!
==> default: Importing base box 'puppetlabs/ubuntu-16.04-32-puppet'...
==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'puppetlabs/ubuntu-16.04-32-puppet' is up to date...
==> default: Setting the name of the VM: puppetlabs_default_1506687306250_65705
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
==> default: Forwarding ports...
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address:
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version of
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you see
    default: shared folder errors, please make sure the guest additions within the
    default: virtual machine match the version of VirtualBox you have installed on
    default: your host and reload your VM.
    default: Guest Additions Version: 5.0.20
    default: VirtualBox Version: 5.1
==> default: Mounting shared folders...
    default: /vagrant => /Users/psalms91/Vagrant_VM/puppetlabs
Tdls-Air:puppetlabs psalms91$

Tdls-Air:puppetlabs psalms91$ vagrant ssh

Welcome to Ubuntu 16.04 LTS (GNU/Linux 4.4.0-21-generic i686)

 * Documentation:


After this I have my Puppet Labs VM running ... After this point was easy, I just needed to goo into the puppet installation dir and look into the dir structure.

done.. :-)

Sunday, 30 July 2017

How To Install qBittorrent 3.3.7 On Ubuntu 16.04, Ubuntu 15.10 And Ubuntu 14.04 Systems

The - qBittorrent is a torrent client, similar to ĀµTorrent, which was recently ported to the Linux systems. Among others, qBittorrent has built-in search engine for searching in the popular BitTorrent sites, has torrent queueing and prioritizing features, has IP Filtering options, provides a tool for creating torrents and bandwidth limitations.

The latest version available is qBittorrent 3.3.7, which has been released, bringing a few changes only:
  • FEATURE: Delete torrent+files with Shift+Delete
  • BUGFIX: Fix 6-hour speedplot point push rate
  • BUGFIX: Avoid spawning a new explorer.exe process when selecting “Open containing folder”
  • BUGFIX: Fix loading of new geoip db due to an artificial size limit
  • BUGFIX: Better error handling and logging with smtp communication
  • SEARCH: Remove KickassTorrents search engine
  • SEARCH: Remove BTDigg search engine
  • SEARCH: Update Torrentz search engine
For more information, see the full changelog.

Installation instructions:

There isn’t any official qBittorrent PPA or repository, but the community maintains one, so that the users can keep their qBittorrent up to date easily.
The below instructions should work on all the supported Ubuntu systems and derivatives: Ubuntu 16.04 Xenial Xerus, Ubuntu 15.10 Wily Werewolf, Ubuntu 14.04 Trusty Tahr, Linux Mint 17.3 Rosa, Linux Mint 17.2 Rafaela, Linux Mint 17.1 Rebecca, Pinguy OS 14.04, Elementary OS 0.3 Freya, Deepin 2014, Peppermint Five, LXLE 14.04, Linux Lite 2.
$ sudo add-apt-repository ppa:qbittorrent-team/qbittorrent-stable
$ sudo apt-get update
$ sudo apt-get install qbittorrent
If you want to remove qbittorrent, do:
$ sudo apt-get remove qbittorrent

Friday, 28 July 2017

Reset Your Forgotten Ubuntu Password in 2 Minutes or Less

If you’ve ever forgotten your password, you aren’t alone… it’s probably one of the most common tech support problems I’ve encountered over the years. Luckily if you are using Ubuntu they made it incredibly easy to reset your password.
All it takes is adjusting the boot parameters slightly and typing a command or two, but we’ll walk you through it.
Reset Your Ubuntu Password
Reboot your computer, and then as soon as you see the GRUB Loading screen, make sure to hit the ESC key so that you can get to the menu.
Root Shell – Easy Method
If you have the option, you can choose the “recovery mode” item on the menu, usually found right below your default kernel option.
Then choose “Drop to root shell prompt” from this menu.
This should give you a root shell prompt.
Alternate Root Shell Method
If you don’t have the recovery mode option, this is the alternate way to manually edit the grub options to allow for a root shell.
First you’ll want to make sure to choose the regular boot kernel that you use (typically just the default one), and then use the “e” key to choose to edit that boot option.
Now just hit the down arrow key over to the “kernel” option, and then use the “e” key to switch to edit mode for the kernel option.
You’ll first be presented with a screen that looks very similar to this one:
You’ll want to remove the “ro quiet splash” part with the backspace key, and then add this onto the end:
rw init=/bin/bash
Once you hit enter after adjusting the kernel line, you’ll need to use the B key to choose to boot with that option.
At this point the system should boot up very quickly to a command prompt.
Changing the Actual Password
You can use the following command to reset your password:
passwd <username>
For example my username being geek I used this command:
passwd geek
After changing your password, use the following commands to reboot your system. (The sync command makes sure to write out data to the disk before rebooting)
reboot –f
I found that the –f parameter was necessary to get the reboot command to work for some reason. You could always hardware reset instead, but make sure to use the sync command first.
And now you should be able to login without any issues.

Friday, 12 May 2017

Error Faced while using KataCoda while Building Multiple dockers

Today I was doing some online training - Building and testing Multiple Dockers using Katacoda online platform. Ups, I guess I have not explained what Katacoda is ... Ok here is ....

Extracted from Wikipedia:  What is Katacoda ?? 
"A code kata is an exercise in programming which helps a programmer hone their skills through practice and repetition. The term was probably first coined by Dave Thomas, co-author of the book The Pragmatic Programmer,[1] in a bow to the Japanese concept of kata in the martial arts. As of October 2011, Dave Thomas has published 21 different katas.[2] "

While practicing some of the tasks in there I have notice docker build failing to build .. Did not resolved myself yet.. I guess I just wen to do a quick investigation and find out what was fundamentally causing the error.

Here is the errors I was getting;

Basically for some reason, I was getting a weird error while building the Go layer ..
So, looking into the dashboard and what I was seeing then, I then realised that the error was on the command to install the Go on the docker .. Did not actually resolved it .. I guess, I just keep a record of it in case of happen again ..

So, as you can see there is a bug on there .. I need to investigate, later on I will publish, what I found out.. My intention is to replicate the build locate and see if I can spot the same error ..