volanja, Thanks for the link. serverspec looks like a good option since it has a nice syntax and already has several suitable modules. I'd like to see an Ansible module that could run these tests. Maybe have a 'spec' directory under each role and be able to call them from the role's playbook. This would add a TDD capability to Ansible.
To those who are not convinced testing is needed in this case I would just add that testing is always needed. Whenever you change a table constraint in your databases you test it, when you change the VLAN config in your switch you test it, when you write a new function in your program you test it, when you change your DHCP config you test it. If you care about quality the issue is not whether to test, it is only how to test. The Agile, DevOps approach is to automate everywhere hence the need for automated CM tests like serverspec. --Aaron Blog: http://www.sharknet.us On Tuesday, December 17, 2013 12:03:01 PM UTC-5, @volanja wrote: > > Hi Aaron and All > > I use Severspec(introduced by shigeta) for TDD. > Now, Ansible has unit-test. but, as you say, I can not verify that the > servers are configured correctly.(e.g. setup DHCP) > ServerSpec can verify that the servers are configured correctly!! > It's popular software in Japan:) > > ServerSpec says. > Serverspec tests your servers' actual state through SSH access, so you > don't need to install any agent softwares on your servers and can use any > configuration management tools, Puppet, Chef, CFEngine and so on. > > So, I create sample (install Nginx,open port 80, and Test!) at Github. > Please check & try. > *https://github.com/volanja/ansible-sample-tdd > <https://github.com/volanja/ansible-sample-tdd>* > > Thanks! > -- volanja > *[email protected] <javascript:>* > *https://twitter.com/volanja <https://twitter.com/volanja>* > > > 2013年12月12日木曜日 1時39分33秒 UTC+9 Aaron Hunter: >> >> I come from an Agile software development background in which test driven >> development (TDD) is the norm. As I write Ansible scripts, I'd like some >> way of testing them. In principle, I want to test every command in a >> playbook. For example, if one of my command changes the user permissions on >> a file, I want a test that independently confirms that it has in fact done >> so. I don't see a "test" module but I may have missed it. >> >> Is that something that Ansible may offer some day? I'm thinking of the >> Ansible equivalent to unit testing. I believe it would require the ability >> to execute arbitrary Python code in the test. The Java tests I have written >> could certainly be very complex. >> >> I'm also curious what others do for testing using Ansible. What >> frameworks, etc. >> >> Thanks, >> Aaron >> DevOps Blog: http://www.sharknet.us >> >> -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
