Avatar (Fabio Alessandro Locati|Fale)'s blog

CORS headers with gRPC-Gateway

July 28, 2021

A few years ago, I wrote a blog post on managing CORS headers with Negroni. Lately, I’ve created a new API server that needed to be accessible from the browser, but this time I used a different technology, more precisely gRPC-Gateway. Few months after I wrote that blog post, I stopped writing new REST services by hand. I did not rewrite all the services that used the old paradigm just because they needed a fix or a new feature, but for all new services, I moved to gRPC with gRPC-Gateway.

Read More

Sensible datetime scale for Gonum Plot

June 28, 2021

Few months ago I posted a library for sensible int scale for Gonum Plot. There is a similar package I’ve developed to handle timescales. The integer one, being based on a recursive function, works with any number scale. Differently, this one will only work well with a timescale between 2 days and a couple of years. Extending it is not hard since it’s enough to add additional case statements in the switch, but I’ve not found use-cases for different timeframes so far.

Read More

GDPR - 3 years later

May 31, 2021

Three years passed from the moment the GDPR become binding law in the European Union. On the one hand, I’m happy that it has already been three years, but on the other hand, I’m impatient to see GDPR fully applied. Cookies Cookies are always a hot theme when we talk about GDPR. I still see websites handing out cookies (first and third parties ones) without a cookie banner or to users who have not pressed the “accept” button on the cookie banner.

Read More

My immutable Fedora

April 29, 2021

For many years now, I’ve been using immutable versions of Fedora. I remember that I started to play with immutable Fedora back in 2015 when Fedora Atomic was new. I liked the idea since the first time I’ve read about it, but in the beginning, I did not spend too much time making it work on my setup because it seemed a little bit too complex. At DevConf.cz 2016, I met Patrick Uiterwijk, who was running his spin of Fedora Atomic.

Read More

Red Hat Certified Specialist in Services Management and Automation

March 31, 2021

Late last year, I’ve read that a new Ansible-related exam was available: the Red Hat Certified Specialist in Services Management and Automation exam (EX358). I’ve taken and passed this exam at the end of January. It was the first time I did a Red Hat exam that was brand new and without having the possibility of finding online some opinions around it. Some people have reported for other exams that when new exams are launched, the scoring has issues.

Read More

Red Hat Certified Specialist in Advanced Automation

February 1, 2021

In my pursuit of the Red Hat Certified Architect (RHCA) certification, I’ve taken the Red Hat Certified Specialist in Advanced automation: Ansible best practices exam (EX447). As for the other Ansible Exams, you can always consult the Ansible documentation available offline in the exam system. Different from the Red Hat Certified Engineer exam (EX294), this exam also includes Ansible Tower as a topic, so be sure to have good knowledge of it as well!

Read More

Sensible integer scale for Gonum Plot

January 20, 2021

Over the years, I found myself multiple times using Gonum Plot. I do find it as a very good and easy to use plotting tool for Go. The problem I found myself, over and over, dealing with is the tickers scale. If you know before-hand the values that can be expected to be created by the application, it is very straightforward, but the majority of times, this is not the case.

Read More

Red Hat Certified Engineer

December 28, 2020

At the beginning of this month, I took the EX294 exam, which allowed me to obtain the Red Hat Certified Engineer (RHCE) certification. It was the first time I attempted the RHCE exam, but I prepared myself in the past for the EX300 exam, the exam that allowed you to obtain the RHCE certification in the RHEL7 time, but never got around to do the exam. Compared to what I had to study for the EX300, I found the EX294 program way more sensible.

Read More

Obtain previous Job ID in Ansible Tower Workflow

November 15, 2020

Ansible Tower allows you to create Workflows, which enable you to create complex workflows by putting together multiple Ansible Playbooks. Ansible Tower Workflows can have some simple logics, such as run different Ansible Playbooks based on the outcome (success or failure) of a previous Ansible Playbook run. Sometimes, though, you need to have more information about a previous Ansible Playbook run than just the outcome. I recently found myself in a situation where I had an Ansible Tower Workflow with two Ansible Playbooks into it, where the first one was performing specific tasks.

Read More

Red Hat Certified System Administrator

October 1, 2020

A few years ago, I did pass this exam, but since then, the certification expired, so I had to re-take the exam. While the first time I did the exam in a testing center, this time I had to do it at home since all test centers are closed. The experience of doing the exam at home has been a very positive one since you can arrange the environment as it better fits you.

Read More

On public TLS certificates lifetime

September 13, 2020

On September 1st, 2020, the maximum lifetime of TLS certificates signed by Public Certificate Authority got reduced to 13 months. How did we arrive here, and what’s to come? Let’s start from understanding who decides the maximum lifetime of certificates and many other limitations around them. Who decides the TLS certificate guidelines Ultimately, the client (often a browser or an operating system) identifies the certificate as trustable or not (based on the CA that signed it as well as many other parameters), so the client can decide which parameters to look for and which values are acceptable and which are not.

Read More

KubeCon + CloudNativeCon Europe 2020

August 20, 2020

This year I managed to partecipate to KubeCon + CloudNativeCon Europe 2020. As you can imagine, the conference did not happen in real life, but it was converted to an online conference. More virtual conferences I attend to, more I understand the limits and the advantages of them compared to real conferences. In this particular conference, I realized that one of the biggest problems I have with virtual conferences is that, during the conference, the conference events and talks add to your usual events and meetings, making it impossible to follow all events you wanted to follow.

Read More

Fedora Nest 2020

August 10, 2020

This year Flock did not happen due to COVID-19, and in its place, Fedora Nest happened. After many events I’ve seen going virtual in the last few months, I was skeptical. I was yet to see an acceptable online platform to run events. I was wrong on the platform. Fedora Nest used Hopin, which is by far the best platform for events I’ve seen so far. Don’t get your expectations too high, though, because when I say the best one I’ve seen so far, only means that it is usable, and it does not mean in any way that is on par of real conferences.

Read More

A website with no cookies

July 19, 2020

Today I did a big update to this website. The goal of today’s update is the removal of Disqus. I have decided to remove Disqus more than a year ago, with the decision to remove all cookies from this website. The plan was to remove both Google Analytics and Disqus since those were the only two reasons this website was distributing cookies. I removed Google Analytics in June 2019, and now I’ve removed Disqus, so this goal has now been achieved.

Read More

ARM everywhere

June 25, 2020

In the last couple of months, we have seen a lot of news around ARM. More specifically, the most relevant ones, in my opinion, are (sorted by date): On May 11, AWS announced the availability of new instance types (M6g, C6g, R6g) based on Graviton2, a new version of their in-house developed ARM processor On June 17, Ampere announced a 128 core ARM processor that will be added to their current line (that includes 32, 48, 64, 72, 80 cores ARM CPUs) On June 22, was made public that Fugaku, an ARM-based supercomputer, is the most potent publicly disclosed supercomputer On June 22, Apple announced that Macs will move to ARM Those pieces of news demonstrate how much the processors' landscape is changing, and how fast the rate of change is.

Read More

Practical Ansible 2

Published on June 5, 2020
Authored by Daniel Oh, James Freeman, Fabio Alessandro Locati
Published by Packt Publishing Limited

Ansible enables you to automate software provisioning, configuration management, and application roll-outs, and can be used as a deployment and orchestration tool. While Ansible provides simple yet powerful features to automate multi-layer environments using agentless communication, it can also solve other critical IT challenges, such as ensuring continuous integration and continuous deployment (CI/CD) with zero downtime. In this book, you’ll work with Ansible 2.9 and learn to solve complex issues quickly with the help of task-oriented scenarios.

Read More Buy it on Packt Buy it on Amazon

GDPR - 2 years later

May 25, 2020

As it is becoming a sort of tradition, here we are, after two years from the enactment of GDPR to see how it performs in the real world. In our previous yearly check, we analyzed the situation from two points of view: the banners and the fines. Let’s see how those two topics have evolved in the last year. The Cookie Banners On the 1st of October 2019, with the judgment in case C-673/17, the European Union Court of Justice clarified that pre-ticketed consent checkboxes are not sufficient since the consent has to be expressed actively by the user.

Read More

Why I switched to systemd-resolved

April 15, 2020

Yesterday, a controversial proposal got posted in the Fedora Devel mailing list: enable systemd-resolved by default. I see this change favorably since I already enabled it a few weeks ago, and I find it a very sensible option. First, I have to admit that I see systemd and its mission of standardizing the core of the Linux user-space very favorably. At the current level of evolution of Linux, over time, this standardization and consistency will pay off much more than other alternatives.

Read More

VPN with NAT in Google Cloud

March 1, 2020

Google Cloud provides the capability of terminating a VPN connection with a VPN Gateway. The problem is that the VPN Gateway - at the moment - is relatively limited in capabilities. One of the missing capabilities I would have liked to see implemented is the NAT capability. VPNs can be used to connect the machines of two different parties. Although this is usually not the best architectural pattern, since a connection on the public internet encrypted at the Transport Layer is often a better option, it’s relatively common in more legacy environments.

Read More

FOSDEM 2020

February 2, 2020 - Bruxelles, BE

This year, as it has happened for the last few years, I’ve been at FOSDEM. As always, I’ve enjoyed it a lot, and that’s why I continue to go there, and every time I have to suggest other people which events to attend in Europe, I always mention FOSDEM as the main event. I think it’s fascinating to see how room sizes and crowdedness of the rooms changes over time. Years ago, the container-related rooms (containers, container security, Go) were relatively small, but already crowded, and over the years, the rooms got bigger and bigger.

Read More

DevConf 2020

January 27, 2020 - Brno, CZ

As it happened at other times in my life, I managed to be present at DevConf. DevConf is one of the best conferences that I attend. The reasons are many and varied, starting from the location that I find relatively stress-free. Another reason is the fact that there are many different kinds of sessions, and many sessions are not overcrowded, so it is relatively simple to participate in any session you would like to.

Read More

Resource scarcity in Public Clouds

December 10, 2019

In the last couple of weeks, I’ve seen problems allocating resources in the Google Cloud Platform in the Frankfurt region. The problem seemed to have occurred due to the high requests Google customers made to sustain their businesses during the Black Friday, Thanksgiving, Cyber Monday period. Making some searches on Google, I’ve found out that this is not the first time it occurs, and this is not only a GCP problem since AWS and Azure had similar incidents.

Read More

AWS Solution Architect - Associate

November 8, 2019

A couple of days ago, I did re-take the AWS Certified Solution Architect - Associate exam. This was my second time at this certification (I did it the first time in 2015), and I had to retake the exam since my certification expired in 2017. The exam was fairly different this time from the previous time. The first thing I noticed is that the certification itself is no longer expiring after 2 years since the validity got extended to 3 years.

Read More

AWS Cloud Practitioner Essentials

October 10, 2019

As part of my AWS re-certification path, I decided to start from the very begin, with the AWS Cloud Practitioner Essentials. I was sure to pass the exam, but since in the company I work for other people will be required to become AWS certified, I wanted to check out the exam beforehand, to be able to suggest to the people the right certification for them. The exam is fairly straight forward and is mainly focused on the advantages of AWS and cloud in general.

Read More

Google Cloud Snapshot Cleaner v0.2.0

September 22, 2019

Last week, in a previous article, I’ve introduced you to gcsc (Google Cloud Snapshot Cleaner). I’ve just released the version 0.2.0 of it, and it has a lot of clean-ups done, both in the code and the user experience. There are also some new features, but the one I’m more satisfied with, is the introduction of the http subcommand, to expose an HTTP server. The webserver will listen to any URI and Methods, and the request will trigger the snapshot clean-up.

Read More

Google Cloud Snapshot Cleaner v0.1.0

September 16, 2019

I’ve just tagged the first version (0.1.0) of gcsc (Google Cloud Snapshot Cleaner). The idea behind this small software is to create a more flexible way to keep the Google Cloud Disks Snapshots tidy. Google Cloud does provide a very nice way to automatically snapshot your disks, leveraging the resource policies. This is very nice, since it allows you to be sure that the Google Cloud always and reliably snapshots your disks.

Read More

Google Professional Cloud Architect

August 30, 2019

After less than a week from achieving the Google Associate Cloud Engineer certification, I took the Google Professional Cloud Architect exam. Preparing this exam, I found odd the fact that Google provides three case studies to bring to the exam. I was even more impressed by the number of questions around those cases. It felt odd since it felt like you could prepare very well those three case studies and be advantaged in the exam.

Read More

Google Associate Cloud Engineer

August 24, 2019

As for a company certification goal, I decided to certify as a Google Associate Cloud Engineer as well as Google Professional Cloud Architect this month. The Google Associate Cloud Engineer certification is mainly focused around GCP standard operations, such as managing IAM, osLogin, as well as many other core services such as compute instances, Cloud SQL and many more. I found the certification to be fairly well balanced, with maybe a little bit a skew toward IAM and security, which I do appreciate due to the importance of these topics.

Read More

Huge privacy fines are good, now we need more of them

July 14, 2019

In the last few days, multiple fines related to privacy have been announced. More specifically: British Airways €203M/£183M/$230M (CNN, The Verge) Marriott €109M/£99M/$124M (CNN, The Guardian) Facebook ca€4.5B/ca£4B/ca$5B (The Telegraph, NYT) Even if I talk about them “collectively”, I would like to point out that the third one is very different in nature, in nature and in the jurisdiction, and therefore in the amount of the fine from the first two, which are fairly similar among them.

Read More

GDPR - 1 year later

May 25, 2019

One year has passed by the 25/05/2018, the day that the GDPR started to be enforced. Today I’d like to see how this first year of GDPR went and what we could be expecting for the future given what we have seen so far. The first consideration that I think is obvious but interesting is that the Internet did not close down on the 25/05/2018 as many were worried. In fact, not much changed on that day.

Read More

Bootstrap2hugo upgraded to Bootstrap 4

April 30, 2019

For a few years now, I’ve been using Hugo for my website as well as other websites as well. My first Hugo website was my own since I wanted to learn more about the technology before suggesting it to anyone else. Back then I was not able to find any minimalistic theme I liked, and for that reason, I started my own. As you can imagine from the name, I based it on Bootstrap, version 3 since that was the current version when I started to work on it.

Read More

Learning Ansible 2.7 - Third Edition

Published on April 30, 2019
Authored by Fabio Alessandro Locati
Published by Packt Publishing Limited

Ansible is an open source automation platform that assists organizations with tasks such as application deployment, orchestration, and task automation. With the release of Ansible 2.7, even complex tasks can be handled much more easily than before. Learning Ansible 2.7 will help you take your first steps toward understanding the fundamentals and practical aspects of Ansible by introducing you to topics such as playbooks, modules, and installation of Linux, Berkeley Software Distribution (BSD), and Windows Support.

Read More Buy it on Packt Buy it on Amazon

FOSDEM 2019

February 4, 2019 - Bruxelles, BE

This year, as it has happened for the last few years, I’ve been at FOSDEM. As always I’ve enjoyed it a lot, and that’s why I continue to go there, and every time I have to suggest other people which events to attend in Europe, I always mention FOSDEM as the main event. This year, differently from previous editions, I tried to stick to a single room both days, being mostly in the Go room on Saturday and in the Containers room on Sunday.

Read More

Calling a SOAP service in Go

December 3, 2018

Today the IT world is very focused on high performance, high throughput interfaces. In this situation, it is common to find REST and gRPC API, given their performances compared to the other solutions. Sometimes, though, we still encounter old API written with older techniques or new API that for some reasons have been developed with outdated technologies. One of those cases that I’ve encountered a few times over the last few months is SOAP.

Read More

CORS with Go and Negroni

November 18, 2018

There are some pieces that you need to put in every microservice you write. Those are for instance logging, error handling, authentication. Over the last year, I found myself writing over and over CORS headers. This requirement brought me to think that I should have used a Negroni middleware since we are already using Negroni for other middlewares. I started looking online for an already written one, and I found a bunch, but I was not happy with what I found, so I decided to write my own.

Read More

A lightweight approach to Go vanity import paths

September 23, 2018

Golang forces its users to use the repository URL of the dependency in the import statement. For instance, if we want to import the “test” package that is hosted at github.com/fale/test, we will need to use github.com/fale/test. In one hand this is very nice since it allows anyone reading the code to immediately understand where the code is hosted and therefore finding it very quickly. Also, this URL-based import path guarantees that no two different packages can have the same import path, preventing this kind of confusion for both programmers and the compiler itself.

Read More

A small HTTP debug server in Go

August 31, 2018

Lately, I found myself to work on an application that was communicating via SOAP with a server. My goal was to understand how this application worked with the SOAP server to emulate its behavior. Even if I had access to the source code of the application, I thought it would have been easier, faster and more fun to do the work without actually reading the code. It’s important to note that actually, the application is fairly small and self-contained.

Read More

Why you should bundle the root CAs in your image

July 13, 2018

If you have ever used Docker or any other Linux OCI container system, you inevitably have incurred in the following error: x509: failed to load system roots and no roots provided This message is remembering you that you forgot to provide Root Certificate Authorities to your application. There are two different ways to solve this: mount the /etc/ssl/certs folder from the machine where the container is running bundling the root CAs in your image As you may imagine from the title, I believe that the second option is by far better than the first one.

Read More

Why SMS should never be used as second factor

June 27, 2018

Lately, all website are urging their users to enable second-factors. The push for multi-factor logins is a good thing from my point of view, since the people are putting more and more details of their life online and is a good thing that companies start to understand the security implication of this and are trying to teach their users good security practices. The real problem is what is defined as second-factor.

Read More

Why everything will end up in a container

May 9, 2018

A couple of months ago, I wrote a blog post about why containerization is not always the answer and I’ve received quite a few comments about it. This article has the goal to analyze an aspect in favor of containerization which I believe to be true but was not mentioned in the previous post: the time aspect of the phenomenon. In the ICT sector, we are used to new technologies, or at least we should be.

Read More

An HTTP server to serve GCS files

April 12, 2018

As many other clouds, Google Cloud Platform provides an Object Storage service, Google Cloud Storage. As many other Object Storage service, Google Cloud Storage provides an HTTP server to deliver your files quickly. When I started to use Google Cloud Storage and its HTTP server I have not been entirely pleased by how it works and therefore I wanted to re-implement the HTTP server so that I can manage it completely.

Read More

Why containerization is not always the answer

March 27, 2018

UPDATE: I’ve then written another post to clarify better my point of view on the future of containers. When I hear people (and usually those people are salespeople) saying that as soon as you put a Container Platform in your company, all your problems go away, I feel bad for the company they are trying to sell it to. I’ve seen far too many container platforms (as well as many other technologies) fail at customers because they have been sold as this magical problem that makes all your problems go away.

Read More

FOSDEM 2018

February 4, 2018 - Bruxelles, BE

This year, as it has happened for the last few years, I’ve been at FOSDEM. As always I’ve enjoyed it a lot, and that’s why I continue to go there, and every time I have to suggest other people which events to attend in Europe, I always mention FOSDEM as the principal event. This year, differently from previous editions, I tried to stick to a single room during Saturday (the Go one).

Read More

Why DevOps is just a buzzword

January 5, 2018

I found myself multiple times in situations where people were trying to explain to me how much they are (or would like to be) DevOps and how awesome DevOps is and how productive their teams had become since when they merged the Dev team and the Ops team, and they don’t have any team which is not DevOps and application-centric. I usually stare at them thinking that they have no idea what they are talking about, or they have just outsourced all the non-application-centric side of their IT and have not realized it.

Read More

Walkthrough a PEM file in Go

December 21, 2017

A few months ago, I posted how to create a PKI in Go. Today I’d like to add share a useful function (at least from my point of view) that I found myself to write. The problem arose when I had a function that required as input a *pem.Block of the public key, but all I had was the PEM file containing, as you can imagine: the Private Key the Public Key the CA Public Key I think this is a typical situation, and for this, I’d like to share a function I wrote to extract it.

Read More

SSH with Yubikey

November 3, 2017

Authentication factors One of the common way to create more secure authentication in systems is adding more “factors”, creating in this way a Multi-Factor Authentication (MFA). The idea behind MFA is that there are many different ways to authenticate a user, and those can be split in different “categories” based on the kind of challenge we require. Generally speaking, it’s common to divide the authentication methods in mainly three categories:

Read More

Ansible Tower LDAP with self signed CA

October 6, 2017

One of the big advantages that Ansible Tower and AWX (the open source and upstream version of Ansible Tower) bring to the table is the Role Base Access Control (RBAC). This will allow you to select which users (or teams) will be able to see which objects in Ansible Tower as well as which jobs they will be able to run. Obviously to leverage the RBAC, you will have to have personal accounts for every user of your platform.

Read More

Ansible Tower Open Source

September 7, 2017

In October 2015, Red Hat bought Ansible Inc. As far as I know, in the acquisition, two close source components got acquired by Red Hat: Ansible Tower and Ansible Galaxy. Since the day of the acquisition, Red Hat has been very clear on the fact that those two components would have become open source at a certain point, even if there was not a public date or timeline yet. Making a codebase open source is not always easy and quick process.

Read More

Ansible Tower 3.1 High Availability maintenance

August 18, 2017

Around one year ago, I did a post around Ansible Tower High Availability maintenance, but in the mean time many things changed and that post is not up to date anymore, so I decided to create a new one that covers the same topic but for Ansible Tower 3.1. From Ansible Tower 3.1 we lost the distinction of Primary Ansible Tower and Secondary Ansible Tower. That concept was related to the fact that the Secondary Ansible Towers were in a hot-standby mode.

Read More

Ansible Tower in Vagrant

July 26, 2017

A lot of times during my job I found myself with the need of Ansible Tower testing environments. In the last few weeks I created a Vagrant script to actually automate it. As this is a single host installation, which is usually more than enough for the majority of tests I do, the Vagrant file is very easy: Vagrant.configure(2) do |config| # Set machine size config.vm.provider :libvirt do |domain| domain.memory = 2048 domain.

Read More

AnsibleFest London 2017

June 23, 2017 - London, UK

This year, I decided to go to AnsibleFest. Since the day before AnsibleFest, an Ansible Contributor Conference was scheduled, I decided to partecipate to both. On Wednesday morning I arrived to the location and I had the pleasure of speaking with few people before the begin of the Contributor Conference. The Contributor Conference was very interesting and I had the occasion to speak with many other people over the course of the day.

Read More

Create a PKI in GoLang

June 5, 2017

Lately I have been programming quite a bit and - for the first time - I have used Golang doing so. Go is a very nice language and really helped me with the development. One of the reasons why I have enjoyed this much Go is the standard library, which is amazing. I would like to share today the easiness of creating a basic Certificate Authority and signed certificates in Go.

Read More

PostgreSQL streaming replication for Ansible Tower

May 31, 2017

Ansible Tower 3.1 has recently been released, and it does implement real HA. In fact, up to version 3.0, Ansible Tower multi-node installation, only allowed a single machine to be primary and the switch was not possible in an automated fashion, so if the primary Ansible Tower would have collapsed, an operator should have promoted one of the secondary Ansible Tower to be primary to be able to carry on the work.

Read More

libVirt on Hetzner

April 26, 2017

After many years of using Hetzner as a server provider, and having rented from them multiple servers for many reasons, I decided to rent a server with 128Gb of RAM to do some tests with many (virtualized) machines on top of CentOS. As it often happens, hosting providers put in place a lot of security measurements that sometimes make doing simple stuff more complex. The first approach I tried was using the (only) Ethernet interface as a bridged interface, but that did not brought me very far.

Read More

Vagrant etcd cluster

March 21, 2017

Sometimes I need to do some tests which are destructive and I need to perform them over and over until I figure out a process that reliably brings me to a desired state. I usually create some kind of easy to provision environments and work on it. In the last few weeks I found myself working on an etcd cluster, so I created an environment with Vagrant, and since I had to write the majority of this by myself, since I have not found anything on Google that suited my needs, I’m going to share this with you.

Read More

Ansible Inventories

March 1, 2017

I often receive questions about Ansible Inventories (far more often than any other Ansible component). My guess is that Inventories are effectively among the most complex things in Ansible. Ansible Inventories are complex in the following ways: After you have decided an Inventory model is hard to change it, in fact you would probably be required to touch all your Playbooks to make everything working again There is not a single way of doing Inventories Often Inventories are the glue to make a generic Playbook run properly on your specific architecture.

Read More

FOSDEM 2017

February 5, 2017 - Bruxelles, BE

FOSDEM is a must for all open source enthusiast in Europe and close by. I think that the reasons to go to FOSDEM are different from the reasons of many other conferences, but equally valid. The comparison with DevConf is obvious, due to the temporal closeness of the two events. I think that DevConf is more about enterprise grade software (or close to be), while FOSDEM is more about experimentations and community.

Read More

DevConf 2017

January 29, 2017 - Brno, CZ

I think this is a special moment of the year, where in less than two weeks is possible to meet a huge amount of Open Source contributors in person. Obviously you will need to take few flights, but it’s definitely worth. DevConf this year was great. I’ve been able to assist to a huge amount of talks (more than 20) and the majority of which were very interesting. As always in conferences, there are themes heavily discussed and other completely absent.

Read More

Avoid Ansible Galaxy (as default option)

December 13, 2016

When I speak with people that are starting with Ansible from Puppet, the first thing they want to experiment is Ansible Galaxy. This leaves me very sceptical, since I think the default mode in Ansible should be DIY. Since I’ve found myself in this situation far to many times, I decided to write down all the reasons why you should avoid Ansible Galaxy in the majority of situations. Using Ansible Galaxy often violates the Ansible way.

Read More

Speedup Ansible

December 1, 2016

The single most frequent complain I hear about Ansible is about it’s slowness. This is very common, but even more common among people that used to use Puppet. There are many reasons why Ansible is slower than Puppet. The three main reasons are: Linear execution: Ansible will execute each operation in order and will not run many steps at the same time as Puppet does. SSH Connection: all Ansible commands will be issued from the control system to the controlled system via SSH.

Read More

Learning Ansible 2 - Second Edition

Published on November 21, 2016
Authored by Fabio Alessandro Locati
Published by Packt Publishing Limited

Ansible is an open source automation platform that assists organizations with tasks such as configuration management, application deployment, orchestration, and task automation. With Ansible, even complex tasks can be handled easier than before. In this book, you will learn about the fundamentals and practical aspects of Ansible 2 by diving deeply into topics such as installation (Linux, BSD, and Windows Support), Playbooks, modules, various testing strategies, provisioning, deployment, and orchestration. In this book, you will get accustomed with the new features of Ansible 2 such as cleaner architecture, task blocks, Playbook parsing, new execution strategy plugins, and modules.

Read More Buy it on Packt Buy it on Amazon

LinuxDay 2016 in Bernareggio

November 1, 2016 - Villanova di Bernareggio, IT

In Italy every year, during the last weekend of October, there is the Linux Day, an “open day” for the LUGs where they create events to publicize GNU/Linux and the Free Software. As usual (for the last 7 years now), the ViGLug organized this event and this time has been in Bernareggio (MB), a city less than half hour drive north-east from Milan. This year, for the first time in the ViGLug life, we have partnered up with other two organizations BrigX (the Bernareggio LUG) and the Coderdojo Brianza.

Read More

SMAU

October 30, 2016 - Milano, IT

From the 25th to the 27th of this month I’ve been at the SMAU in Milan (Italy). The SMAU (Salone Macchine e Attrezzature per l’Ufficio, that would be Exposition of Machinery and Equipment for the Office) is an historical fair started in 1964 and that has had many changes over the years, for instance some years it has been opened to the general public, other times it was only for business visitors.

Read More

Ansible Tower High Availability maintenance

September 28, 2016

IMPORTANT NOTICE: This article deals with Ansible Tower <= 3.0. If you are looking for information around Ansible Tower >= 3.1, please look my newer article on the topic. In the last few months I’ve setted up multiple times Ansible Tower, but I’ve noticed that there is not much documentation on how to perform basic maintenance on Ansible Tower High Availability setup, so I decided to write an article about it.

Read More

FLOCK 2016

August 7, 2016 - Kraków, PL

This year, I have been able to go to Flock :). Flock location this year was Krakov (Poland). Since my flight arrival time was very close to Mailga’s one, I waited him at the airport and then we went together to the Flock location. This has proven to be a good idea, since we had the time to speak about some important topics around the Italian Community. We then arrived to the Flock location, were we discovered a problem with the rooms booking, but that got resolved in a quick way by Bexelbie.

Read More

Joining Red Hat

June 6, 2016

After more than 12 years as a freelance consultant, today I start a new adventure within Red Hat. I’ve always admired Red Hat capability to run a multi billion dollars business selling services (subscriptions, training, and consultancy) on top of free software, so when I got the opportunity to join Red Hat I gladly accepted. Joining Red Hat I’ll not change completely what I do, since I’ll go forward being a Consultant and I’ll work on similar products to the ones I work with today.

Read More

Codemotion

May 15, 2016 - Amsterdam, NL

In the last few days I’ve been at the CodeMotion Amsterdam 2016. This was my first CodeMotion and I have to say that I’m very impressed. The organization was awesome, the talks very high level and the location, well, more than awesome - as you can see in the picture. In those couple of days I had the opportunity to speak with many people, the majority of which are developers, and I learned a lot on the developer point of view of DevOps and containers.

Read More

DevConf - day 4

February 8, 2016 - Brno, CZ

My last day at Brno has come, and I took the bus to Wien Airport, where I later got a plane to Milan. Overall, this was a very nice experience. I’ve met a lot of very interesting people and a lot of people I already knew but only by their IRC and FAS name. It’s always nice to be able to give faces to the names you always read. I really look forward for the next Fedora Event that probably it will be Flock 2016 for me.

Read More

DevConf - day 3

February 7, 2016 - Brno, CZ

Today there were a lot of Fedora talks and sadly I was not able to see them all since there were two Fedora tracks. The most interesting talk I’ve assisted today was probably the Denise Dumas and Matthew Miller one about Fedora. Being the last day of the conference, it ended earlier so we (EMEA Ambassadors) were able to gather and meet to work a little bit on the 2017 budget.

Read More

DevConf - day 2

February 6, 2016 - Brno, CZ

Today I spent the morning looking at very interesting sessions mainly about containers. Probably the most interesting talk of the day has been the one by Josh Bressers about security. In the afternoon I’ve had a very pleasant meeting with the Fedora Internationalization team to see where the various community are and what we can do to improve the current situation. Later I went to the party, but having misinterpreted the situation, I walked with Patrick and Ralph to their meeting place before going to the right location.

Read More

DevConf - day 1

February 5, 2016 - Brno, CZ

This morning things started in the right way. My day started with Tim Burke’s talk and it was very interesting. After that talk, I attended the Adam Miller talk about immutable infrastructures and Daniel Walsh talk about Docker vs Systemd and I enjoyed them all :). Later on I had a very nice hallway talk with Remy DeCausemaker about local communities and translations, followed by an actual meeting about globalization in Fedora.

Read More

DevConf - day 0

February 4, 2016 - Brno, CZ

Few days past from FOSDEM and I’m at yet another conference :). Today I flew to Wien and then took a train to Brno. After the hotel check-in I went to the conference location and I had a nice time with the Red Hat people while we were preparing the location for the event. The majority of the work was already done when I arrived, but few things were still missing (mainly indications to make users life easier like arrows pointing to the rooms, schedules, etc) so I got the opportunity to help :).

Read More

FOSDEM - day 3

February 1, 2016 - Bruxelles, BE

Today is my last day in Brussels and since my flight back is pretty late in the afternoon I took the occasion to visit a little bit Brussels. Fun fact is that after 4 days in Brussels for a FLOSS conference, I’ll spend my evening at my local Linux User Group :D.

Read More

FOSDEM - day 2

January 31, 2016 - Bruxelles, BE

This morning I’ve assisted to one of the most fun and interesting talk I’ve have ever seen. I’m talking about the talk of Richard M Stallman on licensing and patents. I’ve really liked how the talk has been conducted by the speakers and I think the contents were great (you can probably find it available online and if I’ll find a link, I’ll post it). After Stallman’s talk, I went to listen Langdon White talk Re-thinking Linux Distributions.

Read More

FOSDEM - day 1

January 30, 2016 - Bruxelles, BE

After one day at FOSDEM, I’ve to admit that people are not lying when they affirm that FOSDEM is awesome. It really is. Today I had the occasion of following multiple very interesting talks. The only problem I’ve found with the FOSDEM organization is that too often there are multiple very interesting talks at the same time and you have to pick only one (unless you have ubiquity capabilities, but I don’t).

Read More

FOSDEM - day 0

January 29, 2016 - Bruxelles, BE

For years I wanted to attend some major FLOSS conferences, but I’ve never had the occasion since I’ve always had other things to do in the conferences dates. This year, due to multiple causes and good planning, I’ve been able to go to FOSDEM :). One thing that I like to do at all kind of events, but even more in big events, is to volunteer. Volunteering, in my opinion, gives you big advantages, since you often can find very interesting people.

Read More

The AWS tools are approaching EPEL7

January 27, 2016

A couple of weeks ago, I’ve announced the availability of AWS tools for Fedora. I’m very happy to announce that today they are available in the EPEL7 repository as well. The Extra Packages for Enterprise Linux (EPEL) repository is an RPM repository managed by the Fedora community that creates, maintains, and manages a high quality set of additional packages for Enterprise Linux, including, but not limited to, Red Hat Enterprise Linux (RHEL), CentOS, Scientific Linux (SL), and Oracle Linux (OL).

Read More

The AWS tools are approaching Fedora

January 16, 2016

In the last few weeks I’ve worked toward bringing the Amazon Web Services tools in Fedora. The three AWS tools that are coming in the next few days in Fedora are: botocore: a low level Python library to interact with Amazon Web Services APIs boto3: a high level Python library to interact with Amazon Web Services APIs awscli: a Command Line Interface to interact with Amazon Web Services APIs Botocore just landed in Fedora updates repositories while boto3 and awscli will be pushed to the updates repository tomorrow or Monday morning.

Read More

Innotop 1.10.0-0.3

December 22, 2015

Innotop is a tool that allows you to control the status of a MySQL/MariaDB database. It is widely used since it shows the data with an interface very similar to the top one. Lately it’s development has slowed down, but small changes do come regularly. The biggest change this time (compared to the 1.10.0-0.2 version) is the addition of a patch that allows innotop to work properly with MariaDB 10.1 and 10.

Read More

qBittorrent 3.3.1

December 18, 2015

In the last few weeks I’ve worked toward bringing qBittorrent 3.3.1 to Fedora and EL7. Today I’ve requested the stable branch for Fedora 23 and in the next few days I’ll do the same for Fedora and EL7. Why am I writing about it instead of just leaving the updates come to you with the classical “dnf update”? Simply because this is a huge and very interesting update. The biggest change in this update has been the switch from Qt4 to Qt5.

Read More

Fedora 23 release party

December 13, 2015

Few days ago, on November 23, we have had a Fedora 23 release party in Milan, as we announced in the wiki. This time we did something different from the previous one (the Fedora 21 release party) because we tried to do it in Milan, while the previous time we did it in Cernusco sul Naviglio that is a city very close to Milan. The number of people that participated at the event was below expectation, but probably this is not only caused by the more central location, but also the limited planning time we had due to the location that has been provided to us by StartMiUp, a coworking space.

Read More

OpenStack Cloud Security

Published on July 28, 2015
Authored by Fabio Alessandro Locati
Published by Packt Publishing Limited

OpenStack is a system that controls large pools of computing and networking resources, along with cloud storage, allowing its users to provision resources through a user-friendly interface. OpenStack helps developers with features such as rolling upgrades, federated identity, and software reliability. You will begin with basic security policies, such as MAC, MLS, and MCS, and explore the structure of OpenStack and virtual networks with Neutron. Next, you will configure secure communications on the OpenStack API with HTTP connections.

Read More Buy it on Packt Buy it on Amazon

LinuxDay 2014 in Melzo

November 3, 2014 - Melzo, IT

In Italy every year, during the last weekend of October, there is the Linux Day, an “open day” for the LUGs where they create events to publicize GNU/Linux and the Free Software. As usual (for the last 5 years now), the ViGLug organized it’s event and this time has been in Melzo, a city less than half hour drive east from Milan. We had a very nice event with more than 50 new people coming to learn about Linux and its wonderful world.

Read More

Hello Planet Fedora

August 24, 2014

Hi guys, my name is Fabio Alessandro Locati and I’m a Fedora packager involved in multiple packages. Also I’m in the process of becoming an Ambassador. I’m an Italian freelance system administrator and system architect. This is my first blog post on Planet Fedora and I think I’ll post here mainly about the packages I’m involved with, I will also – sometimes – blog about events, Fedora and Linux in general :).

Read More

Innotop fixed for MariaDB 10

August 24, 2014

One of my clients asked me to upgrade their MySQL 5.1 installation to MariaDB 10. This caused some problems mainly due to the fact that many MySQL clients are not MariaDB 10 ready. An example of a MySQL client not yet ready for MariaDB 10 is Innotop. Innotop is a widely used client for MySQL/MariaDB that shows you an interface similar to the “top” Unix command. To solve this, I found a patch online and, after some testing, I’ve added it to the Fedora package.

Read More

Make ION work properly in Fedora 15

July 23, 2011

The EeePc 1015PN, at least the European version, comes with these two video cards: 00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller (rev 02) 04:00.0 VGA compatible controller: nVidia Corporation GT218 [ION] (rev ff) The first one is a nice Intel integrated card that allows you to have good performance in the 99.9% of the typical netbook user-cases. In the other hand, the Nvidia ION is way more powerful than the integrated Intel card.

Read More
Older