At the beginning of the fifth week at QA, I found out that I was to
be doing DevOps. I started the path of DevOps with a task that involved me going
through a set of tasks from a program called Puppet Quest. Puppet Quest is a
guide to Puppet and was very helpful in learning the software. Puppet is a software
that runs modules hosted on a master, these modules are run on agents, and
perform various tasks, such as installing software.
After I had gone through all of the tasks in Puppet Quest, I
have to make a module in Puppet that installs Java onto an agent machine.
Puppet runs by using blocks of code to perform various tasks, such as executing
a command, or checking a file is in place. Using those two types of block, I
was able to get Java to install on the agent machine. First checking that the .tar
file was in the shared directory and then copying it to the place where it was
going to be unpacked using a file block. Command lines to unpack the .tar file
were then implemented using exec blocks. Once the module was completed, it was
pushed to an agent machine which ran the module and installed Java.
The next task was to create two agents, one which would
install Java and one which would install Java and Maven. The Maven module was
very similar to the Java module, but did not need command lines for the
compiler. Getting the agents to install a unique set of modules was fairly
easy. All that needed to be done was to edit a site.pp file to include the
names of each node (agent) along with which modules were to be installed.
In the middle of the fifth week, we started a group project
on Puppet which was to last until the end of the sixth week. The first aim of
the project was to install several software through modules using Puppet. These
modules ranged from being very quick and easy, such as Git, to being fairly
long and arduous, such as Nexus. The process needed to be automated as much as
possible, and my group managed to get it so that when all the files are in
place, you only need to double click one file to set up the master and the
amount of agents specified in the vagrantfile, and install all of the modules
on the agents. The next part of the project was to install and use Puppet
Enterprise and use that to install the modules. This took a while to complete
and there were a few problems, but we eventually managed to get this working,
although we could not find a way to get Puppet Enterprise to automatically
accept certificate requests from the agents. The following task was to set up
MCollective. This was an easy task as most of the things needed were already
installed with Puppet Enterprise. The final task for the project was to set up
Zabbix. This took a while, but there were not too many problems with it. My
group set up a Zabbix server and agents, and provided access to the server
through the web GUI. The last thing to be done in the sixth week is to give a
presentation on the project.
No comments:
Post a Comment