Recursive Copy In Ansible 1.5 And --diff

Ansible 1.5 has partial support for recursive copy of files:
Continue reading →

Petitioning EU to act against Russian aggression in Ukraine

join the campaignAs a citizen of a country that has been invaded by Hilter in 1938 under the pretext of protecting local Germans and again invaded by Russia in 1968, I cannot watch another such invasion and annexation taking place in Europe while EU does little of any consequences.
Continue reading →

Ansible Troubleshooting Tips

Few tips for troubleshooting Ansible, based on my brief experiences with Ansible 1.4 (read: do not rely on this info too much).

Run ansible-playbook in the verbose mode

ansible-playbook -vvvv ... will provide you with plenty of details of what is going on. (Notice that additional v:s, starting from none, add more detail.)

Use ./hacking/test-module

Check out Ansible sources and use the ./hacking/test-module script - see Developing Modules.


Continue reading →

Most interesting links of February '14

Recommended Readings

Development
Continue reading →

JavaServer Faces Are Evil (draft)

1. Problem

Let me start with a story. Once upon time
Continue reading →

Handling Deployments When Provisioning JBoss domain.xml (With Ansible)

It is tricky to manage JBoss with a provisioner such as Puppet or Ansible because its domain.xml contains not only rather static configuration but also sections that change quite often such as deployments. So how can we manage the static parts of domain.xml with f.ex. Ansible while still enabling developers to deploy at will via jboss-cli (and thus changing the <deployments> sections of the file)? Here is one possible solution, based on extracting the sections from the current file and merging them into the template.


Continue reading →

Seek Understanding

The most important lesson I have learned in 2013 is that I won't change anything by writing critical blog posts and talking to like-minded people. Fostering the "we vs. them," we who are right vs. them idiots sentiment is ineffective, even destructive. To be able to achieve anything, I have to talk to the people with opposite opinions and understand them. They are rarely ***holes and typically have good reasons for their opinions. Only by understanding those reasons and the background, history, and emotions they stem from - and hopefully helping the "opponents" understand some of my reasons and context - we can find a common ground and common goals that we can build upon to go further - perhaps not in harmony but still together rather than against each other.

Continue reading →

The Risks Of Big-Bang Deployments And Techniques For Step-wise Deployment

If you ever need to persuade management why it might be better to deploy a larger change in multiple stages and push it to customers gradually, read on.

A deployment of many changes is risky. We want therefore to deploy them in a way which minimizes the risk of harm to our customers and our companies. The deployment can be done either in an all-at-once (also known as big-bang) way or a gradual way. We will argue here for the more gradual ("stepwise") approach.

Big-bang or stepwise deployment?



A big-bang deployment seems to be the natural thing to do: the full solution is developed and tested and then replaces the current system at once. However, it has two crucial flaws.


Continue reading →

Demonstration of Ansible Features With Control & Test VMs

I have created a small project to demonstrate some features of Ansible, the new DevOps hotness, including Vagrant VMs for running Ansible and for testing the configuration. Either go straight to

https://github.com/holyjak/ansible-example-with-vm

or continue reading the copy & paste here.

This project has three things of interest:
  1. A non-trivial Ansible configuration that demonstrates couple of useful features and tricks
  2. A Vagrant/VirtualBox virtual machine with Ansible & co. to make it easy to run it (even on Windows)
  3. Another VM that can be used to test the configuration
And of course all the plumbing that makes them work together. It might be therefore a good base for Ansible projects of your own.


Continue reading →

JBoss Modules Suck, It's Impossible To Use Custom Resteasy/JAX-RS Under JBoss 7

Since JBoss EAP 6.1 / AS 7.2.0 is modular and you can exclude what modules are visible to your webapp, you would expect it to be easy to ignore the built-in implementation of JAX-RS (Rest Easy 2.3.6) and use a custom one (3.0.6). However, sadly, this is not the case. You are stuck with what the official guide suggests, i.e. upgrading Rest Easy globally - provided that no other webapp running on the server becomes broken by the upgrade.


Continue reading →

A Secret Weapon Against Technical Debt

(Cross-posted from blog.iterate.no.)

Continue reading →

Most interesting links of January '14

Recommended Readings


Continue reading →

Most interesting links of December '13

Recommended Readings

Society
Continue reading →

2013 in review

The WordPress.com stats helper monkeys prepared a 2013 annual report for this blog.

Continue reading →

Bad Code: Are We Thinking Too Little?

Do we not think enough when coding? Do we jump to the first solution without really considering the problem, without trying to analyze and decompose it and understand the components and orthogonal forces invovled? Is that the cause of bad code (together with time press) and the reason why we typically see a "patchvolution" rather than evolution (of design)?

Continue reading →

Copyright © 2024 Jakub Holý
Powered by Cryogen
Theme by KingMob