<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ptomusk</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ptomusk"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Ptomusk"/>
	<updated>2026-05-07T01:18:27Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74146</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74146"/>
		<updated>2014-01-13T16:30:55Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Erinevused levinud alternatiividega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ansible/ansible/blob/devel/COPYING&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toetatud on Linux ja teised Unixilaadsed operatsioonisüsteemid, Windows servermasinana toetatud ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neljast konkurendist on Ansible&#039;l hetkel kõige rohkem erinevaid autoreid, mis annab tunnistust tervest ja aktiivsest arendajaskonnast.&amp;lt;ref&amp;gt;Ansible pulse, https://github.com/ansible/ansible/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Puppet pulse, https://github.com/puppetlabs/puppet/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Chef pulse, https://github.com/opscode/chef/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;SaltStack pulse, https://github.com/saltstack/salt/pulse/monthly&amp;lt;/ref&amp;gt; Ansible ajakohasusest annab aimu ka [[Ubuntu]] repositooriumist kättesaadavate pakkide võrdlus, milles praegusele &#039;&#039;(12.04)&#039;&#039; LTS versioonile on [[GitHub]]&#039;is projekti enda uusima versiooniga võrreldes ajakohane versioon saadaval vaid Ansible&#039;le.&lt;br /&gt;
&amp;lt;ref&amp;gt;Ansible GitHub releases, https://github.com/ansible/ansible/releases&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;Puppet GitHub releases, https://github.com/puppetlabs/puppet/releases&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;Chef GitHub releases, https://github.com/opscode/chef/releases&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;SaltStack GitHub releases, https://github.com/saltstack/salt/releases&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;Ansible package for Ubuntu (precise), http://packages.ubuntu.com/precise-backports/ansible&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;Puppet package for Ubuntu (precise), http://packages.ubuntu.com/precise-updates/puppet&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Seadistusfailide ajalugu ja muudatusi on (rangelt) soovituslik hallata versioonihaldussüteemiga ([[SVN]], [[CVS]], [[Git]] või [[Mercurial]])!&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
&lt;br /&gt;
;Silver Vesi&lt;br /&gt;
:Olles analüüsinud Ansiblet ja tema alternatiive pean tõdema, et väiksemal skaalal ja triviaalsete muudatuste tegemiseks võtaksin kasutusele Ansible, samas kui suuremas võrgus kus on mitmeid erinevaid operatsioonisüsteeme, kasutaksin pigem Puppetit. Ansiblet on lihtsam kasutada ja üles seada, tema süntaks on märksa lihtsam, aga Puppetil on taga kommuun mille toel on juurde arendatud meeletult mooduleid millega kergema vaevaga automatiseerida ka keerukamaid toiminguid.&lt;br /&gt;
;Peeter Tomusk&lt;br /&gt;
:Ansible kasutamine on süsteemiadministraatorile mugav ja omane, kuna sarnaneb vägagi skriptide kirjutamisele, seetõttu on ka implementeerimise õpikõver [[Puppet]]&#039;i ja [[Chef]]&#039;iga võrreldes oluliselt väiksem. Rakendades olemasolevaid lahendusi ([[SSH]]) tundub Ansible baasil keskhalduse kasutuselevõtmine loogilise jätkuna seniste haldusmeetodite järel ning võimaldab süsteemi haldavatel isikutel enda oskustepagasit orgaaniliselt täiendada. Autor soovitab kõigil, kes ei ole enda süsteemide keskset haldust teostavat tarkvaralahendust veel valinud, proovida esmalt Ansible&#039;t.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74139</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74139"/>
		<updated>2014-01-13T16:10:25Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Erinevused levinud alternatiividega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ansible/ansible/blob/devel/COPYING&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toetatud on Linux ja teised Unixilaadsed operatsioonisüsteemid, Windows servermasinana toetatud ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neljast alternatiivist on Ansible&#039;l hetkel kõige rohkem erinevaid autoreid, mis annab tunnistust tervest ja aktiivsest arendajaskonnast.&amp;lt;ref&amp;gt;Ansible pulse, https://github.com/ansible/ansible/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Puppet pulse, https://github.com/puppetlabs/puppet/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Chef pulse, https://github.com/opscode/chef/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;SaltStack pulse, https://github.com/saltstack/salt/pulse/monthly&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Seadistusfailide ajalugu ja muudatusi on (rangelt) soovituslik hallata versioonihaldussüteemiga ([[SVN]], [[CVS]], [[Git]] või [[Mercurial]])!&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
&lt;br /&gt;
;Silver Vesi&lt;br /&gt;
:Olles analüüsinud Ansiblet ja tema alternatiive pean tõdema, et väiksemal skaalal ja triviaalsete muudatuste tegemiseks võtaksin kasutusele Ansible, samas kui suuremas võrgus kus on mitmeid erinevaid operatsioonisüsteeme, kasutaksin pigem Puppetit. Ansiblet on lihtsam kasutada ja üles seada, tema süntaks on märksa lihtsam, aga Puppetil on taga kommuun mille toel on juurde arendatud meeletult mooduleid millega kergema vaevaga automatiseerida ka keerukamaid toiminguid.&lt;br /&gt;
;Peeter Tomusk&lt;br /&gt;
:Ansible kasutamine on süsteemiadministraatorile mugav ja omane, kuna sarnaneb vägagi skriptide kirjutamisele, seetõttu on ka implementeerimise õpikõver [[Puppet]]&#039;i ja [[Chef]]&#039;iga võrreldes oluliselt väiksem. Rakendades olemasolevaid lahendusi ([[SSH]]) tundub Ansible baasil keskhalduse kasutuselevõtmine loogilise jätkuna seniste haldusmeetodite järel ning võimaldab süsteemi haldavatel isikutel enda oskustepagasit orgaaniliselt täiendada. Autor soovitab kõigil, kes ei ole enda süsteemide keskset haldust teostavat tarkvaralahendust veel valinud, proovida esmalt Ansible&#039;t.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74138</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74138"/>
		<updated>2014-01-13T16:08:53Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Erinevused levinud alternatiividega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ansible/ansible/blob/devel/COPYING&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toetatud on Linux ja teised Unixilaadsed operatsioonisüsteemid, Windows servermasinana toetatud ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Neljast konkurendist on Ansible&#039;l hetkel kõige rohkem erinevaid autoreid, mis annab tunnistust tervest ja aktiivsest arendajaskonnast.&amp;lt;ref&amp;gt;Ansible pulse, https://github.com/ansible/ansible/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Puppet pulse, https://github.com/puppetlabs/puppet/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Chef pulse, https://github.com/opscode/chef/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;SaltStack pulse, https://github.com/saltstack/salt/pulse/monthly&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Seadistusfailide ajalugu ja muudatusi on (rangelt) soovituslik hallata versioonihaldussüteemiga ([[SVN]], [[CVS]], [[Git]] või [[Mercurial]])!&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
&lt;br /&gt;
;Silver Vesi&lt;br /&gt;
:Olles analüüsinud Ansiblet ja tema alternatiive pean tõdema, et väiksemal skaalal ja triviaalsete muudatuste tegemiseks võtaksin kasutusele Ansible, samas kui suuremas võrgus kus on mitmeid erinevaid operatsioonisüsteeme, kasutaksin pigem Puppetit. Ansiblet on lihtsam kasutada ja üles seada, tema süntaks on märksa lihtsam, aga Puppetil on taga kommuun mille toel on juurde arendatud meeletult mooduleid millega kergema vaevaga automatiseerida ka keerukamaid toiminguid.&lt;br /&gt;
;Peeter Tomusk&lt;br /&gt;
:Ansible kasutamine on süsteemiadministraatorile mugav ja omane, kuna sarnaneb vägagi skriptide kirjutamisele, seetõttu on ka implementeerimise õpikõver [[Puppet]]&#039;i ja [[Chef]]&#039;iga võrreldes oluliselt väiksem. Rakendades olemasolevaid lahendusi ([[SSH]]) tundub Ansible baasil keskhalduse kasutuselevõtmine loogilise jätkuna seniste haldusmeetodite järel ning võimaldab süsteemi haldavatel isikutel enda oskustepagasit orgaaniliselt täiendada. Autor soovitab kõigil, kes ei ole enda süsteemide keskset haldust teostavat tarkvaralahendust veel valinud, proovida esmalt Ansible&#039;t.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74137</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74137"/>
		<updated>2014-01-13T16:07:53Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tutvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ansible/ansible/blob/devel/COPYING&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Toetatud on Linux ja teised Unixilaadsed operatsioonisüsteemid, Windows servermasinana toetatud ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
Neljast konkurendist on Ansible&#039;l kõige rohkem erinevaid autoreid, mis annab tunnistust tervest ja aktiivsest arendajaskonnast.&amp;lt;ref&amp;gt;Ansible pulse, https://github.com/ansible/ansible/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Puppet pulse, https://github.com/puppetlabs/puppet/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Chef pulse, https://github.com/opscode/chef/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;SaltStack pulse, https://github.com/saltstack/salt/pulse/monthly&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Seadistusfailide ajalugu ja muudatusi on (rangelt) soovituslik hallata versioonihaldussüteemiga ([[SVN]], [[CVS]], [[Git]] või [[Mercurial]])!&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
&lt;br /&gt;
;Silver Vesi&lt;br /&gt;
:Olles analüüsinud Ansiblet ja tema alternatiive pean tõdema, et väiksemal skaalal ja triviaalsete muudatuste tegemiseks võtaksin kasutusele Ansible, samas kui suuremas võrgus kus on mitmeid erinevaid operatsioonisüsteeme, kasutaksin pigem Puppetit. Ansiblet on lihtsam kasutada ja üles seada, tema süntaks on märksa lihtsam, aga Puppetil on taga kommuun mille toel on juurde arendatud meeletult mooduleid millega kergema vaevaga automatiseerida ka keerukamaid toiminguid.&lt;br /&gt;
;Peeter Tomusk&lt;br /&gt;
:Ansible kasutamine on süsteemiadministraatorile mugav ja omane, kuna sarnaneb vägagi skriptide kirjutamisele, seetõttu on ka implementeerimise õpikõver [[Puppet]]&#039;i ja [[Chef]]&#039;iga võrreldes oluliselt väiksem. Rakendades olemasolevaid lahendusi ([[SSH]]) tundub Ansible baasil keskhalduse kasutuselevõtmine loogilise jätkuna seniste haldusmeetodite järel ning võimaldab süsteemi haldavatel isikutel enda oskustepagasit orgaaniliselt täiendada. Autor soovitab kõigil, kes ei ole enda süsteemide keskset haldust teostavat tarkvaralahendust veel valinud, proovida esmalt Ansible&#039;t.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74136</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74136"/>
		<updated>2014-01-13T16:06:13Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ansible/ansible/blob/devel/COPYING&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt; Toetatud on Linux ja teised Unixilaadsed operatsioonisüsteemid, Windows servermasinana toetatud ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
Neljast konkurendist on Ansible&#039;l kõige rohkem erinevaid autoreid, mis annab tunnistust tervest ja aktiivsest arendajaskonnast.&amp;lt;ref&amp;gt;Ansible pulse, https://github.com/ansible/ansible/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Puppet pulse, https://github.com/puppetlabs/puppet/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Chef pulse, https://github.com/opscode/chef/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;SaltStack pulse, https://github.com/saltstack/salt/pulse/monthly&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Seadistusfailide ajalugu ja muudatusi on (rangelt) soovituslik hallata versioonihaldussüteemiga ([[SVN]], [[CVS]], [[Git]] või [[Mercurial]])!&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
&lt;br /&gt;
;Silver Vesi&lt;br /&gt;
:Olles analüüsinud Ansiblet ja tema alternatiive pean tõdema, et väiksemal skaalal ja triviaalsete muudatuste tegemiseks võtaksin kasutusele Ansible, samas kui suuremas võrgus kus on mitmeid erinevaid operatsioonisüsteeme, kasutaksin pigem Puppetit. Ansiblet on lihtsam kasutada ja üles seada, tema süntaks on märksa lihtsam, aga Puppetil on taga kommuun mille toel on juurde arendatud meeletult mooduleid millega kergema vaevaga automatiseerida ka keerukamaid toiminguid.&lt;br /&gt;
;Peeter Tomusk&lt;br /&gt;
:Ansible kasutamine on süsteemiadministraatorile mugav ja omane, kuna sarnaneb vägagi skriptide kirjutamisele, seetõttu on ka implementeerimise õpikõver [[Puppet]]&#039;i ja [[Chef]]&#039;iga võrreldes oluliselt väiksem. Rakendades olemasolevaid lahendusi ([[SSH]]) tundub Ansible baasil keskhalduse kasutuselevõtmine loogilise jätkuna seniste haldusmeetodite järel ning võimaldab süsteemi haldavatel isikutel enda oskustepagasit orgaaniliselt täiendada. Autor soovitab kõigil, kes ei ole enda süsteemide keskset haldust teostavat tarkvaralahendust veel valinud, proovida esmalt Ansible&#039;t.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74133</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74133"/>
		<updated>2014-01-13T15:37:34Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Erinevused levinud alternatiividega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ansible/ansible/blob/devel/COPYING&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt; Toetatud on Linux ja teised Unixilaadsed operatsioonisüsteemid, Windows servermasinana toetatud ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
Neljast konkurendist on Ansible&#039;l kõige rohkem erinevaid autoreid, mis annab tunnistust tervest ja aktiivsest arendajaskonnast.&amp;lt;ref&amp;gt;Ansible pulse, https://github.com/ansible/ansible/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Puppet pulse, https://github.com/puppetlabs/puppet/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Chef pulse, https://github.com/opscode/chef/pulse/monthly&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;SaltStack pulse, https://github.com/saltstack/salt/pulse/monthly&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Seadistusfailide ajalugu ja muudatusi on (rangelt) soovituslik hallata versioonihaldussüteemiga ([[SVN]], [[CVS]], [[Git]] või [[Mercurial]])!&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
Autori tahe käesoleva artikli kirjutamisel on anda ülevaade erinevatest seadistamise võimalustes ja nüanssidest. Võimaldades huvitatud osapoolel saada  esmane kasutamiskogemus ja rakendamisoskus. Artiklis kirjeldatud näide on küll kasulik ent ei rahulda kindlasti reaalsete süsteemide haldamisel vajalikku terviklikkust.&lt;br /&gt;
&lt;br /&gt;
Olulisim artikli väljund on pakkuda informatsiooni [[Puppet]]&#039;i ja [[Chef]]&#039;i alternatiivide kohta, millest üheks on Ansible.&lt;br /&gt;
&lt;br /&gt;
;Silver Vesi&lt;br /&gt;
:Olles analüüsinud Ansiblet ja tema alternatiive pean tõdema, et väiksemal skaalal ja triviaalsete muudatuste tegemiseks võtaksin kasutusele Ansible, samas kui suuremas võrgus kus on mitmeid erinevaid operatsioonisüsteeme, kasutaksin pigem Puppetit. Ansiblet on lihtsam kasutada ja üles seada, ent Puppetil on taga märksa suurem arendajate kommuun, seega saaks temaga ära teha keerukamaid operatsioone vähema vaevaga, sest paljude toimingute jaoks on vastavad moodulid juba loodud.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74128</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=74128"/>
		<updated>2014-01-13T15:06:20Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tutvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ansible/ansible/blob/devel/COPYING&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Seadistusfailide ajalugu ja muudatusi on (rangelt) soovituslik hallata versioonihaldussüteemiga ([[SVN]], [[CVS]], [[Git]] või [[Mercurial]])!&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
Autori tahe käesoleva artikli kirjutamisel on anda ülevaade erinevatest seadistamise võimalustes ja nüanssidest. Võimaldades huvitatud osapoolel saada  esmane kasutamiskogemus ja rakendamisoskus. Artiklis kirjeldatud näide on küll kasulik ent ei rahulda kindlasti reaalsete süsteemide haldamisel vajalikku terviklikkust.&lt;br /&gt;
&lt;br /&gt;
Olulisim artikli väljund on pakkuda informatsiooni [[Puppet]]&#039;i ja [[Chef]]&#039;i alternatiivide kohta, millest üheks on Ansible.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73784</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73784"/>
		<updated>2014-01-12T06:39:24Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Playbook&amp;#039;ide rakendamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Seadistusfailide ajalugu ja muudatusi on (rangelt) soovituslik hallata versioonihaldussüteemiga ([[SVN]], [[CVS]], [[Git]] või [[Mercurial]])!&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
Autori tahe käesoleva artikli kirjutamisel on anda ülevaade erinevatest seadistamise võimalustes ja nüanssidest. Võimaldades huvitatud osapoolel saada  esmane kasutamiskogemus ja rakendamisoskus. Artiklis kirjeldatud näide on küll kasulik ent ei rahulda kindlasti reaalsete süsteemide haldamisel vajalikku terviklikkust.&lt;br /&gt;
&lt;br /&gt;
Olulisim artikli väljund on pakkuda informatsiooni [[Puppet]]&#039;i ja [[Chef]]&#039;i alternatiivide kohta, millest üheks on Ansible.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73783</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73783"/>
		<updated>2014-01-12T02:28:01Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Kokkuvõte */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Ansible hoomatavus temaga väheseid kogemusi omavale isikule ning sihtarvutisse agendi paigaldamise vajaduse puudumine võimaldavad vähese vaevaga rakendada keskset haldust ka olukordades, milles tema konkurentide kasutamine ratsionaalsena ei tundu.&lt;br /&gt;
Autori tahe käesoleva artikli kirjutamisel on anda ülevaade erinevatest seadistamise võimalustes ja nüanssidest. Võimaldades huvitatud osapoolel saada  esmane kasutamiskogemus ja rakendamisoskus. Artiklis kirjeldatud näide on küll kasulik ent ei rahulda kindlasti reaalsete süsteemide haldamisel vajalikku terviklikkust.&lt;br /&gt;
&lt;br /&gt;
Olulisim artikli väljund on pakkuda informatsiooni [[Puppet]]&#039;i ja [[Chef]]&#039;i alternatiivide kohta, millest üheks on Ansible.&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73782</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73782"/>
		<updated>2014-01-12T02:12:44Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Veebiserveri seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: webservers&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;webservers&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: install apache and php packages&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install apache and php packages&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    apt: pkg=$item state=latest update_cache=yes&#039;&#039;&#039; - Paigalda [[APT]]&#039;iga muutujate loetelus olevate pakkide uusim versioon ning uuenda repositooriumite kirjeldused&amp;lt;ref&amp;gt;apt module syntax, http://docs.ansible.com/apt_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - apache2&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;apache2&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php5-cli&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php5-cli&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - php-pear&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;php-pear&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - libapache2-mod-php5&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;libapache2-mod-php5&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  - name: install PHP_CodeSniffer&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;install PHP_CodeSniffer&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&#039;&#039;&#039; - Käivita sihtmasinas käsk &#039;&#039;pear install PHP_CodeSniffer&#039;&#039;, ainult juhul kui viidatud faili/kataloogi pole olemas&amp;lt;ref&amp;gt;command module syntax, http://docs.ansible.com/command_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: set php memory limit&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;set php memory limit&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&#039;&#039;&#039; - Seadista &#039;&#039;.ini&#039;&#039; tüüpi failis &#039;&#039;/etc/php5/apache2/php.ini&#039;&#039; muutuja &#039;&#039;memory_limit&#039;&#039;väärtuseks &#039;&#039;512M&#039;&#039;&amp;lt;ref&amp;gt;ini_file module syntax, http://docs.ansible.com/ini_file_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;  - name: enable ssl&#039;&#039;&#039; Konkreetse seadistussammu nimi on &#039;&#039;enable ssl&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&#039;&#039;&#039; - Loo muutuja väärtusega failist kataloogis &#039;&#039;/etc/apache2/mods-available/&#039;&#039;, kataloogi &#039;&#039;/etc/apache2/mods-enabled/&#039;&#039; muutuja väärtusega koopia, mille tüübiks on sümboolne link&lt;br /&gt;
: &#039;&#039;&#039;    with_items:&#039;&#039;&#039; - Muutujate loetelu algus&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.conf&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.conf&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    - ssl.load&#039;&#039;&#039; - Muutujate loetelu element &#039;&#039;ssl.load&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    notify: restart apache&#039;&#039;&#039; - Teavita vajadusepõhist haldurit &#039;&#039;restart apache&#039;&#039; rakendamise nõudest&lt;br /&gt;
: &#039;&#039;&#039;  handlers:&#039;&#039;&#039; - Vajadusepõhiste haldurite algus&lt;br /&gt;
: &#039;&#039;&#039;  - name: restart apache&#039;&#039;&#039; - Konkreetse halduri nimi on &#039;&#039;restart apache&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;    service: name=apache2 enabled=yes state=restarted&#039;&#039;&#039; - Teenus, nimega &#039;&#039;apache2&#039;&#039; tuleb alglaadimisel käivitada ning hetkel peab tema staatus &#039;&#039;taaskäivitunud&#039;&#039;&amp;lt;ref&amp;gt;service module syntax, http://docs.ansible.com/service_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73781</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73781"/>
		<updated>2014-01-12T01:46:52Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Kasulikk materjale */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikke materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73780</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73780"/>
		<updated>2014-01-12T01:35:59Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
====Eeldused====&lt;br /&gt;
* Sihtmasinas on töötav [[SSH]] server&lt;br /&gt;
* &#039;&#039;Playbook&#039;&#039;&#039;is määratud kasutajal on lubatud teha [[SSH]] ühendusi sihtmasinasse&lt;br /&gt;
* Kui seadistamine nõuab juurkasutaja õigustesse eskaleerimist, on &#039;&#039;playbook&#039;&#039;is määratud kasutajal lubatud seda teha&lt;br /&gt;
====Playbook&#039;ide rakendamine====&lt;br /&gt;
Seadistusi rakendatakse käsuga &#039;&#039;&#039;ansible-playbook&#039;&#039;&#039;.&amp;lt;br/&amp;gt;&lt;br /&gt;
Käsu täiendavatest argumentidest saab [[Linux]]&#039;i käsule omaselt ülevaate &#039;&#039;--help&#039;&#039; argumendiga.&lt;br /&gt;
 ansible-playbook --help&lt;br /&gt;
Olulisemad argumendid:&lt;br /&gt;
* &#039;&#039;&#039;-k&#039;&#039;&#039; - Küsi [[SSH]] ühenduse loomiseks parooli&lt;br /&gt;
* &#039;&#039;&#039;-K&#039;&#039;&#039; - Küsi &#039;&#039;sudo&#039;&#039; käsu jaoks parooli&lt;br /&gt;
: &#039;&#039;&#039;NB: Kasutades Ansible&#039;t ilma võtmega autentimiseta, on vajalik paigaldada pakk &#039;&#039;sshpass&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
 sudo apt-get install sshpass&lt;br /&gt;
&lt;br /&gt;
Rakendame kõigi sihtmasinate peal põhiseadistuse (ja kõik pärinevad lisaseadistused), kasutades parooliga autentimist ning andes ette sudo parooli.&lt;br /&gt;
 ansible-playbook -k -K ~/ansible/playbooks/main.yml&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73779</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73779"/>
		<updated>2014-01-12T01:14:30Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Veebiserveri seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     - libapache2-mod-php5&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
   - name: enable ssl&lt;br /&gt;
     file: src=/etc/apache2/mods-available/$item dest=/etc/apache2/mods-enabled/$item state=link&lt;br /&gt;
     with_items:&lt;br /&gt;
     - ssl.conf&lt;br /&gt;
     - ssl.load&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted &lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73778</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73778"/>
		<updated>2014-01-12T01:03:53Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Veebiserveri seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73777</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73777"/>
		<updated>2014-01-12T01:02:15Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Veebiserveri seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install PHP_CodeSniffer&lt;br /&gt;
     command: pear install PHP_CodeSniffer creates=/usr/share/php/data/PHP_CodeSniffer&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: configure oci8&lt;br /&gt;
     copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73776</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73776"/>
		<updated>2014-01-12T00:44:48Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Veebiserveri seadistus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php5-dev&lt;br /&gt;
     - php-pear&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install oci8&lt;br /&gt;
     command: echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8 creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: configure oci8&lt;br /&gt;
     copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73775</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73775"/>
		<updated>2014-01-12T00:37:03Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistuse kirjeldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: webservers&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: install apache and php packages&lt;br /&gt;
     apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
     with_items:&lt;br /&gt;
     - apache2&lt;br /&gt;
     - php5&lt;br /&gt;
     - php5-cli&lt;br /&gt;
     - php-pear&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: install oci8&lt;br /&gt;
     command: &#039;echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8&#039; creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: configure oci8&lt;br /&gt;
     copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
   - name: set php memory limit&lt;br /&gt;
     ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
     notify: restart apache&lt;br /&gt;
 &lt;br /&gt;
   handlers:&lt;br /&gt;
   - name: restart apache&lt;br /&gt;
     service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73774</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73774"/>
		<updated>2014-01-12T00:27:20Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistuse kirjeldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
====Põhiseaded====&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
====Seadistuse abifailid====&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
====Veebiserveri seadistus====&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    gather_facts: no&lt;br /&gt;
    sudo: yes&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php-pear&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: install oci8&lt;br /&gt;
      command: &#039;echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8&#039; creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: configure oci8&lt;br /&gt;
      copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: set php memory limit&lt;br /&gt;
      ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
  &lt;br /&gt;
    handlers:&lt;br /&gt;
    - name: restart apache&lt;br /&gt;
      service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73773</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73773"/>
		<updated>2014-01-12T00:16:30Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistuse kirjeldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;copy module syntax, http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    gather_facts: no&lt;br /&gt;
    sudo: yes&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php-pear&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: install oci8&lt;br /&gt;
      command: &#039;echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8&#039; creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: configure oci8&lt;br /&gt;
      copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: set php memory limit&lt;br /&gt;
      ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
  &lt;br /&gt;
    handlers:&lt;br /&gt;
    - name: restart apache&lt;br /&gt;
      service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73772</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73772"/>
		<updated>2014-01-12T00:14:04Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ja samaaegselt ka sihtmasinate loendi faili.&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    gather_facts: no&lt;br /&gt;
    sudo: yes&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php-pear&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: install oci8&lt;br /&gt;
      command: &#039;echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8&#039; creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: configure oci8&lt;br /&gt;
      copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: set php memory limit&lt;br /&gt;
      ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
  &lt;br /&gt;
    handlers:&lt;br /&gt;
    - name: restart apache&lt;br /&gt;
      service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73771</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73771"/>
		<updated>2014-01-12T00:10:46Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame kataloogi, milles hoida Ansible tööks olulisi faile ning faili, milles hoida sihtmasinate loendit&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    gather_facts: no&lt;br /&gt;
    sudo: yes&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php-pear&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: install oci8&lt;br /&gt;
      command: &#039;echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8&#039; creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: configure oci8&lt;br /&gt;
      copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: set php memory limit&lt;br /&gt;
      ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
  &lt;br /&gt;
    handlers:&lt;br /&gt;
    - name: restart apache&lt;br /&gt;
      service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73769</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73769"/>
		<updated>2014-01-12T00:09:20Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main:children]&lt;br /&gt;
 webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main:children]&#039;&#039;&#039; - Loogiline grupp, mis koosneb alamgruppidest&lt;br /&gt;
: &#039;&#039;&#039;webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuluvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    gather_facts: no&lt;br /&gt;
    sudo: yes&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php-pear&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: install oci8&lt;br /&gt;
      command: &#039;echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8&#039; creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: configure oci8&lt;br /&gt;
      copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: set php memory limit&lt;br /&gt;
      ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
  &lt;br /&gt;
    handlers:&lt;br /&gt;
    - name: restart apache&lt;br /&gt;
      service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73767</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73767"/>
		<updated>2014-01-12T00:03:06Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Need muudatused on (rangelt) soovituslik sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[defaults]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;&#039;NB: Järgnevad muudatused asuvad sektsioonis&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;[ssh_connection]&#039;&#039;&#039;&#039;&#039;&#039;&#039;!&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Kasutaja sedistusfaili eeldatav sisu pärast muudatusi&lt;br /&gt;
 [defaults]&lt;br /&gt;
 transport=ssh&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
 [ssh_connection]&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    gather_facts: no&lt;br /&gt;
    sudo: yes&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php-pear&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: install oci8&lt;br /&gt;
      command: &#039;echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8&#039; creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: configure oci8&lt;br /&gt;
      copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: set php memory limit&lt;br /&gt;
      ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
  &lt;br /&gt;
    handlers:&lt;br /&gt;
    - name: restart apache&lt;br /&gt;
      service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73761</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73761"/>
		<updated>2014-01-11T23:53:33Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistuse kirjeldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
&lt;br /&gt;
Tekitame faili, milles hoida Apache veebiserveri seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/apache.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref name=&amp;quot;yaml_syntax&amp;quot;/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    gather_facts: no&lt;br /&gt;
    sudo: yes&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest update_cache=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php-pear&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: install oci8&lt;br /&gt;
      command: &#039;echo -e &amp;quot;instantclient,/usr/lib/oracle/11.2/client64/lib\n&amp;quot; | pecl install oci8&#039; creates=/usr/lib/php5/20090626/oci8.so&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: configure oci8&lt;br /&gt;
      copy: src=../files/etc/php5/conf.d/oci8.ini dest=/etc/php5/conf.d/oci8.ini&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
    - name: set php memory limit&lt;br /&gt;
      ini_file: dest=/etc/php5/apache2/php.ini option=memory_limit value=512M section=PHP&lt;br /&gt;
      notify: restart apache&lt;br /&gt;
  &lt;br /&gt;
    handlers:&lt;br /&gt;
    - name: restart apache&lt;br /&gt;
      service: name=apache2 enabled=yes state=restarted&lt;br /&gt;
  &lt;br /&gt;
  ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73759</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73759"/>
		<updated>2014-01-11T23:34:41Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistuse kirjeldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
: &#039;&#039;&#039;NB: Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73758</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73758"/>
		<updated>2014-01-11T23:33:23Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistuse kirjeldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
Loome kataloogi kus hoida seadistuse kirjelduse kogumeid ehk Ansible mõistes &#039;&#039;playbook&#039;&#039;&#039;e&lt;br /&gt;
 mkdir ~/ansible/playbooks&lt;br /&gt;
Tekitame põhifaili kus hoida üldist seadistust&lt;br /&gt;
 touch ~/ansible/playbooks/main.yml&lt;br /&gt;
&#039;&#039;&#039;Näidete kopeerimisel tuleb olulist tähelepanu pöörata taanetele, kuna need on YAML&#039;i süntaksi osa!&#039;&#039;&#039;&amp;lt;ref&amp;gt;YAML syntax, http://docs.ansible.com/YAMLSyntax.html&amp;lt;/ref&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Lisame sellese faili järgnevad read&lt;br /&gt;
 ---&lt;br /&gt;
 - hosts: main&lt;br /&gt;
   user: student&lt;br /&gt;
   gather_facts: no&lt;br /&gt;
   sudo: yes&lt;br /&gt;
   tasks:&lt;br /&gt;
   - name: Copy MOTD&lt;br /&gt;
     copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&lt;br /&gt;
 &lt;br /&gt;
 - include: ~/ansible/playbooks/apache.yml&lt;br /&gt;
 &lt;br /&gt;
 ...&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;---&#039;&#039;&#039; - YAML&#039;i süntaksis faili algus&lt;br /&gt;
: &#039;&#039;&#039;- hosts: main&#039;&#039;&#039; - Selles failis määratletud seadistused rakendadatkse sihtmasinatele, mis kuuluvad gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;  user: student&#039;&#039;&#039; - Kasutajanimi, kellena sihtmasinasse sisse logitakse, ehk [[SSH]] kasutaja&lt;br /&gt;
: &#039;&#039;&#039;  gather_facts: no&#039;&#039;&#039; - Sihtmasinate kohta käiva info kogumise keelamine: käesoleva näite raames ei ole see vajalik ning säästab käivitamisel aega&lt;br /&gt;
: &#039;&#039;&#039;  sudo: yes&#039;&#039;&#039; - Seadistuse elluviimiseks eskaleerutakse juurkasutaja õigustesse&lt;br /&gt;
: &#039;&#039;&#039;  tasks:&#039;&#039;&#039; - Sellele reale järgnevad seadistussammude kirjeldused&lt;br /&gt;
: &#039;&#039;&#039;  - name: Copy MOTD&#039;&#039;&#039; - Konkreetse seadistussammu nimi on &#039;&#039;Copy MOTD&#039;&#039;&lt;br /&gt;
:: &#039;&#039;(Igal seadistussammul peab olema nimi ning sellele on võimalik soovi korral viidata)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;copy: src=~/ansible/files/motd.txt dest=/etc/motd backup=yes&#039;&#039;&#039; - Kopeerida kohaliku masina fail &#039;&#039;~/ansible/files/motd.txt&#039;&#039; sihtmasinasse, nimega &#039;&#039;/etc/motd&#039;&#039; ning varundada praegune sihtmasinas eksisteeriv fail&amp;lt;ref&amp;gt;http://docs.ansible.com/copy_module.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
: &#039;&#039;&#039;- include: ~/ansible/playbooks/apache.yml&#039;&#039;&#039; - Impordi seadistusfail &#039;&#039;~/ansible/playbooks/apache.yml&#039;&#039; ja rakenda ka selles olevad seadistused&lt;br /&gt;
: &#039;&#039;&#039;...&#039;&#039;&#039; - YAML&#039;i süntaksis faili lõpp&lt;br /&gt;
&lt;br /&gt;
Loome kataloogi kus hoida sihtmasinatesse kopeeritavaid faile&lt;br /&gt;
 mkdir ~/ansible/files&lt;br /&gt;
Loome MOTD faili, mida sihtmasinatesse kopeerida&lt;br /&gt;
 echo &amp;quot;This is the Ansible MOTD&amp;quot; &amp;gt; ~/ansible/files/motd.txt&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73756</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73756"/>
		<updated>2014-01-11T22:33:07Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K ~/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73755</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73755"/>
		<updated>2014-01-11T22:31:43Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;/&amp;gt; &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73754</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73754"/>
		<updated>2014-01-11T22:18:14Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Erinevused levinud alternatiividega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref name=&amp;quot;ansible_and_salt&amp;quot;&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73752</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73752"/>
		<updated>2014-01-11T22:15:02Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Süsteemide seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73751</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73751"/>
		<updated>2014-01-11T22:14:37Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Tekitame eelmainitud kataloogi ja faili&lt;br /&gt;
 mkdir ~/ansible &amp;amp;&amp;amp; touch ~/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73749</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73749"/>
		<updated>2014-01-11T22:11:34Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Veebiserveri jaoks vajalike pakkide paigaldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistuse kirjeldamine===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Süsteemide seadistamine===&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73747</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73747"/>
		<updated>2014-01-11T21:56:26Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [main]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[main]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;main&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja main)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73746</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73746"/>
		<updated>2014-01-11T21:55:31Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [all]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[all]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;all&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;all&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja all)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73745</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73745"/>
		<updated>2014-01-11T21:45:06Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Konfifaili lisamine/muutmine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [all]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 children:databases&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
 [databases]&lt;br /&gt;
 192.168.1.2&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[all]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;all&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;all&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja all)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[databases]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.2&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;databases (ja all)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73744</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73744"/>
		<updated>2014-01-11T21:35:11Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Syntaks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [all]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 children:databases&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
 [databases]&lt;br /&gt;
 192.168.1.2&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[all]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;all&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;all&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja all)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[databases]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.2&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;databases (ja all)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73743</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73743"/>
		<updated>2014-01-11T21:33:51Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Esmane seadistamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
===Esmane seadistamine===&lt;br /&gt;
Süsteemne seadistusfail on &#039;&#039;/etc/ansible/ansible.cfg&#039;&#039;, kuid iga kasutaja võib isiklike seadete hoidmiseks tekitada faili  &#039;&#039;.ansible.cfg&#039;&#039; enda kodukataloogi. Kasutaja kodukataloogis olevad seaded on süsteemse seadistusfaili suhtes ülemuslikud.&amp;lt;ref name=&amp;quot;ansible_man&amp;quot;&amp;gt;ansible-playbook man page, http://linux.die.net/man/1/ansible-playbook&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Järgnevad muudatused tuleb sisse viia kas kasutaja seadistusfailis või süsteemses seadistusfailis.&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Kasutatava protokolli muutmine [[SSH]]&#039;ks et vähendada turvariske. &#039;&#039;Autori isikliku kogemuse põhjal on [[Python]]&#039;i [[paramiko]] teek kapriisne ning ei pruugi sobida keerukamateks lahendusteks&#039;&#039;.&lt;br /&gt;
 transport=ssh&lt;br /&gt;
Juhul kui teil ei ole seadistatud [[OpenSSH:_võtmetega_autentimine|SSH võtmega autentimine]] on vajalik muuta ssh ühenduse seadistust, lubamaks parooliga autentimist.&lt;br /&gt;
: &#039;&#039;Valik&#039;&#039; &#039;&#039;&#039;&#039;&#039;PasswordAuthentication=no&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
  ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
Seadistatavaid sihtmasinaid kirjeldava faili teekonna muutmine&lt;br /&gt;
 hostfile=~/hosts&lt;br /&gt;
&lt;br /&gt;
Lisame sihtmasinate faili mõned kirjed:&lt;br /&gt;
 [all]&lt;br /&gt;
 192.168.1.1&lt;br /&gt;
 children:webservers&lt;br /&gt;
 children:databases&lt;br /&gt;
 &lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
 &lt;br /&gt;
 [databases]&lt;br /&gt;
 192.168.1.2&lt;br /&gt;
Kirjete selgitus:&lt;br /&gt;
: &#039;&#039;&#039;[all]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;all&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;children:webservers&#039;&#039;&#039; - Kõik grupi &#039;&#039;webservers&#039;&#039; masinad kuuliuvad ka gruppi &#039;&#039;all&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[webservers]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.56.1&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;webservers (ja all)&#039;&#039;&lt;br /&gt;
: &#039;&#039;&#039;[databases]&#039;&#039;&#039; - Loogiline grupp sihtmasinaid&lt;br /&gt;
: &#039;&#039;&#039;192.168.1.2&#039;&#039;&#039; - Sihtmasin mis kuulub gruppi &#039;&#039;databases (ja all)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73698</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73698"/>
		<updated>2014-01-11T19:52:03Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Paigaldamine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
Ansible paigaldamiseks on võimalik tõmmata see otse projekti [https://github.com/ansible/ansible GitHub&#039;i repost] või paigaldada operatsioonisüüsteemi pakihaldustarkvara abil.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
;Ansible paigaldamine [[APT]]&#039;i abil&lt;br /&gt;
  sudo apt-get install ansible&lt;br /&gt;
;Versiooni (ja paigaldatuse kontroll)&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73697</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73697"/>
		<updated>2014-01-11T19:41:24Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tutvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt; Ansible: CM, Deployment, and Ad-hoc Task Execution All in One, http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible (kõik käsud soovitavalt juurkasutaja õigustes!):&lt;br /&gt;
&lt;br /&gt;
  apt-get install ansible&lt;br /&gt;
&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73696</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73696"/>
		<updated>2014-01-11T19:40:01Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Erinevused levinud alternatiividega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt;http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega [[Puppet]] ja [[Chef]] on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]]. &amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[SaltStack]] on Ansible&#039;ga vägagi sarnane, ent erineb klientidega suhtlemise osas, kasutades [[0mq]]&#039;d ning täiendades seda enda poolt [[AES]] krüpteeringuga (milles võib aeg-ajalt esineda vigasid&amp;lt;ref&amp;gt;SaltStack AES bug, https://github.com/saltstack/salt/commit/5dd304276ba5745ec21fc1e6686a0b28da29e6fc&amp;lt;/ref&amp;gt;). Ansible poolt kasutatav [[SSH]] ei lisa süsteemi täiendavaid ründevektoreid.&amp;lt;ref&amp;gt;Ansible and Salt: A detailed comparison, http://missingm.co/2013/06/ansible-and-salt-a-detailed-comparison/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible (kõik käsud soovitavalt juurkasutaja õigustes!):&lt;br /&gt;
&lt;br /&gt;
  apt-get install ansible&lt;br /&gt;
&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73642</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73642"/>
		<updated>2014-01-11T17:07:03Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tutvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;Ansible license in GitHub, https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt;http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_playbooks&amp;quot;&amp;gt;Ansible Playbooks, http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;Ansible installation manual, http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;Michael DeHaan&#039;s bio, http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;Why is it called Ansible, http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;AnsibleWorks homepage, http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega (näiteks [[Puppet]] või [[Chef]]) on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]].&amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
, vaid lisaks puudub igasugune vajadus seadistada klientarvuteid, sest toimingud teostatakse üle SSH protokolli. Lisaks, kuna ta on kirjutatud Pythonis, peab serverarvutisse olema paigaldatud Python 2.4 või uuem.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible (kõik käsud soovitavalt juurkasutaja õigustes!):&lt;br /&gt;
&lt;br /&gt;
  apt-get install ansible&lt;br /&gt;
&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73634</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73634"/>
		<updated>2014-01-11T17:02:05Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Erinevused levinud alternatiividega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt;http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref&amp;gt;http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega (näiteks [[Puppet]] või [[Chef]]) on agendi kui sellise puudumine. Klientide seadistamiseks kasutatakse juba (enamus juhtudel) olemasolevaid vahendeid - [[SSH]] ja [[Python]].&amp;lt;ref&amp;gt;Review: Puppet vs. Chef vs. Ansible vs. Salt, http://www.infoworld.com/d/data-center/review-puppet-vs-chef-vs-ansible-vs-salt-231308?page=0,1&amp;lt;/ref&amp;gt;&lt;br /&gt;
, vaid lisaks puudub igasugune vajadus seadistada klientarvuteid, sest toimingud teostatakse üle SSH protokolli. Lisaks, kuna ta on kirjutatud Pythonis, peab serverarvutisse olema paigaldatud Python 2.4 või uuem.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible (kõik käsud soovitavalt juurkasutaja õigustes!):&lt;br /&gt;
&lt;br /&gt;
  apt-get install ansible&lt;br /&gt;
&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73630</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73630"/>
		<updated>2014-01-11T16:55:52Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Erinevused levinud alternatiividega */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt;http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref&amp;gt;http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega, sh. Puppet ja Chef on see, et ta on loodud mitte ainult agendi(kliendi)vabana, vaid lisaks puudub igasugune vajadus seadistada klientarvuteid, sest toimingud teostatakse üle SSH protokolli. Lisaks, kuna ta on kirjutatud Pythonis, peab serverarvutisse olema paigaldatud Python 2.4 või uuem.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible (kõik käsud soovitavalt juurkasutaja õigustes!):&lt;br /&gt;
&lt;br /&gt;
  apt-get install ansible&lt;br /&gt;
&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73628</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73628"/>
		<updated>2014-01-11T16:55:29Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tutvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt;http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref&amp;gt;http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref name=&amp;quot;ansible_installation&amp;quot;&amp;gt;http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega, sh. Puppet ja Chef on see, et ta on loodud mitte ainult agendi(kliendi)vabana, vaid lisaks puudub igasugune vajadus seadistada klientarvuteid, sest toimingud teostatakse üle SSH protokolli. Lisaks, kuna ta on kirjutatud Pythonis, peab serverarvutisse olema paigaldatud Python 2.4 või uuem.&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible (kõik käsud soovitavalt juurkasutaja õigustes!):&lt;br /&gt;
&lt;br /&gt;
  apt-get install ansible&lt;br /&gt;
&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73624</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73624"/>
		<updated>2014-01-11T16:52:17Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tutvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt;http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref&amp;gt;http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&amp;lt;ref&amp;gt;http://docs.ansible.com/intro_installation.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/faq/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega, sh. Puppet ja Chef on see, et ta on loodud mitte ainult agendi(kliendi)vabana, vaid lisaks puudub igasugune vajadus seadistada klientarvuteid, sest toimingud teostatakse üle SSH protokolli. Lisaks, kuna ta on kirjutatud Pythonis, peab serverarvutisse olema paigaldatud Python 2.4 või uuem.&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible (kõik käsud soovitavalt juurkasutaja õigustes!):&lt;br /&gt;
&lt;br /&gt;
  apt-get install ansible&lt;br /&gt;
&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep apache&lt;br /&gt;
&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
 dpkg -l|grep php5&lt;br /&gt;
&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73574</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73574"/>
		<updated>2014-01-11T13:36:43Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tutvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt;http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref name=&amp;quot;ansible_doc&amp;quot;&amp;gt;http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega, sh. Puppet ja Chef on see, et ta on loodud mitte ainult agendi(kliendi)vabana, vaid lisaks puudub igasugune vajadus seadistada klientarvuteid, sest toimingud teostatakse üle SSH protokolli. Lisaks, kuna ta on kirjutatud Pythonis, peab serverarvutisse olema paigaldatud Python 2.4 või uuem.&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible:&lt;br /&gt;
&lt;br /&gt;
  apt-get install ansible&lt;br /&gt;
&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  ansible --version&lt;br /&gt;
&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  root@puppet:/# ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 student@client:~$ dpkg -l|grep apache&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
 student@client:~$ dpkg -l|grep php5&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73572</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73572"/>
		<updated>2014-01-11T13:33:54Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tutvustus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL])&amp;lt;ref&amp;gt;https://github.com/ekarak/ansible/blob/master/license/gpl.txt&amp;lt;/ref&amp;gt; konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&amp;lt;ref&amp;gt;http://server.dzone.com/articles/ansible-cm-deployment-and-ad&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&amp;lt;ref&amp;gt;http://docs.ansible.com/playbooks_intro.html&amp;lt;/ref&amp;gt;&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [[Cobbler]]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&amp;lt;ref&amp;gt;http://investing.businessweek.com/research/stocks/private/person.asp?personId=233466314&amp;amp;privcapId=233465248&amp;amp;previousCapId=233465248&amp;amp;previousTitle=AnsibleWorks,%20Inc&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge.&amp;lt;ref&amp;gt;http://www.ansibleworks.com/&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega, sh. Puppet ja Chef on see, et ta on loodud mitte ainult agendi(kliendi)vabana, vaid lisaks puudub igasugune vajadus seadistada klientarvuteid, sest toimingud teostatakse üle SSH protokolli. Lisaks, kuna ta on kirjutatud Pythonis, peab serverarvutisse olema paigaldatud Python 2.4 või uuem.&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible:&lt;br /&gt;
&lt;br /&gt;
  root@puppet:/# apt-get install ansible&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  root@puppet:/# ansible --version&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  root@puppet:/# ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 student@client:~$ dpkg -l|grep apache&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
 student@client:~$ dpkg -l|grep php5&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73569</id>
		<title>Ansible</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Ansible&amp;diff=73569"/>
		<updated>2014-01-11T13:23:49Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Viited */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Tutvustus ==&lt;br /&gt;
Ansible on vabavaraline ([http://www.gnu.org/licenses/gpl.html GPL]) konfiguratsiooni ja seadistuse haldamise tarkvaraplatvorm.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Konfiguratsiooni hoidmiseks kasutatakse [http://www.yaml.org/ YAML]&#039;i faile mis võivad olla omavahel hierarhiliselt seotud.&lt;br /&gt;
Ansible on kirjutatud Python&#039;is ning seadistuse vahendamiseks kasutatakse SSH protokolli (Python&#039;i paramiko teeki või OS&#039;i ssh käsku rakendades).&lt;br /&gt;
Hallatava masina eelduseks on sissetulevate SSH ühenduste lubamine ja Python&#039;i interpretaatori olemasolu (vähemalt versioon 2.4), eraldiseisvat klienti või agenti ei ole.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Tarkvara loojaks on Michael DeHaan, kes eelnevalt on loonud [http://en.wikipedia.org/wiki/Cobbler_(software) Cobbler]&#039;i ning olnud [[Puppet]]&#039;i arendaja.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Nimetus &amp;quot;Ansible&amp;quot; on pärit O.S.Card&#039;i raamatust Enderi mäng, kus kirjeldatakse samanimelist valguse kiirusest kiiremat suhtlusprotokolli.&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
Ansible&#039;ile on võimalik osta ka ärikliendi tuge firmalt [http://www.ansibleworks.com/ AnsibleWorks].&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Erinevused levinud alternatiividega ==&lt;br /&gt;
&lt;br /&gt;
Ansible peamine erinevus oma konkurentidega, sh. Puppet ja Chef on see, et ta on loodud mitte ainult agendi(kliendi)vabana, vaid lisaks puudub igasugune vajadus seadistada klientarvuteid, sest toimingud teostatakse üle SSH protokolli. Lisaks, kuna ta on kirjutatud Pythonis, peab serverarvutisse olema paigaldatud Python 2.4 või uuem.&lt;br /&gt;
&lt;br /&gt;
== Kasutamine ==&lt;br /&gt;
=== Paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Installeerime Ansible:&lt;br /&gt;
&lt;br /&gt;
  root@puppet:/# apt-get install ansible&lt;br /&gt;
  Reading package lists... Done&lt;br /&gt;
  Building dependency tree       &lt;br /&gt;
  Reading state information... Done&lt;br /&gt;
  The following NEW packages will be installed:&lt;br /&gt;
    ansible&lt;br /&gt;
  0 upgraded, 1 newly installed, 0 to remove and 24 not upgraded.&lt;br /&gt;
  Need to get 0 B/245 kB of archives.&lt;br /&gt;
  After this operation, 1,219 kB of additional disk space will be used.&lt;br /&gt;
  Selecting previously unselected package ansible.&lt;br /&gt;
  (Reading database ... 140139 files and directories currently installed.)&lt;br /&gt;
  Unpacking ansible (from .../ansible_1.1+dfsg-1~ubuntu12.04.1_all.deb) ...&lt;br /&gt;
  Processing triggers for man-db ...&lt;br /&gt;
  Setting up ansible (1.1+dfsg-1~ubuntu12.04.1) ...&lt;br /&gt;
&lt;br /&gt;
Kontrollime, et sai ilusti peale:&lt;br /&gt;
&lt;br /&gt;
  root@puppet:/# ansible --version&lt;br /&gt;
  ansible 1.1&lt;br /&gt;
&lt;br /&gt;
=== Esmane seadistamine ===&lt;br /&gt;
&lt;br /&gt;
Avame konfifaili ja muudame ära mõnede parameetrite väärtused:&lt;br /&gt;
&lt;br /&gt;
  vi /etc/ansible/ansible.cfg&lt;br /&gt;
&lt;br /&gt;
Muudame protokolli SSH&#039;ks, sest see on paindlikum:&lt;br /&gt;
&lt;br /&gt;
 # connection to use when -c &amp;lt;connection_type&amp;gt; is not specified&lt;br /&gt;
 transport=paramiko&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 transport=ssh&lt;br /&gt;
&lt;br /&gt;
Lülitame sisse parooliga audentimise:&lt;br /&gt;
&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=no -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&amp;gt;&amp;gt;&lt;br /&gt;
 ssh_args=-o PasswordAuthentication=yes -o ControlMaster=auto -o ControlPersist=60s -o ControlPath=/tmp/ansible-ssh-%h-%p-%r&lt;br /&gt;
&lt;br /&gt;
Tekitame grupi milles on kõik webserverid mida hallata tahame, antud juhul üksainus:&lt;br /&gt;
&lt;br /&gt;
 vi /etc/ansible/hosts&lt;br /&gt;
 [webservers]&lt;br /&gt;
 192.168.56.1&lt;br /&gt;
&lt;br /&gt;
=== Syntaks ===&lt;br /&gt;
&lt;br /&gt;
=== Veebiserveri jaoks vajalike pakkide paigaldamine ===&lt;br /&gt;
&lt;br /&gt;
Tekitame skriptide, ehk kohalikus keeles playbookide jaoks eraldi kausta ja selle sisse yml faili nimega apache.yml:&lt;br /&gt;
&lt;br /&gt;
  mkdir /etc/ansible/playbooks&lt;br /&gt;
  vi apache.yml&lt;br /&gt;
&lt;br /&gt;
Faili sisuks järgnev. Installime veebiserveri jaoks vajalikud komponendid:&lt;br /&gt;
&lt;br /&gt;
  ---&lt;br /&gt;
  - hosts: webservers&lt;br /&gt;
    user: student&lt;br /&gt;
    vars:&lt;br /&gt;
    gather_facts: False&lt;br /&gt;
    sudo: True&lt;br /&gt;
    tasks:&lt;br /&gt;
    - name: install apache and php packages&lt;br /&gt;
      apt: pkg=$item state=latest force=yes&lt;br /&gt;
      with_items:&lt;br /&gt;
      - apache2&lt;br /&gt;
      - php5&lt;br /&gt;
      - php5-cgi&lt;br /&gt;
      - php5-cli&lt;br /&gt;
      - php5-curl&lt;br /&gt;
      - php5-ldap&lt;br /&gt;
  ...&lt;br /&gt;
&lt;br /&gt;
Käivitame playbooki:&lt;br /&gt;
&lt;br /&gt;
  root@puppet:/# ansible-playbook -k -K /etc/ansible/playbooks/apache.yml&lt;br /&gt;
&lt;br /&gt;
Sisestame ssh ja sudo parooli ning mõne aja pärast saame tagasisidet teostatud toimingute kohta:&lt;br /&gt;
&lt;br /&gt;
  SSH password: &lt;br /&gt;
  sudo password: &lt;br /&gt;
  PLAY [webservers] ********************* &lt;br /&gt;
  TASK: [install apache and php packages] ********************* &lt;br /&gt;
  changed: [192.168.56.1] =&amp;gt; (item=apache2,php5,php5-cgi,php5-cli,php5-curl,php5-ldap)&lt;br /&gt;
  PLAY RECAP ********************* &lt;br /&gt;
  192.168.56.1                   : ok=1    changed=1    unreachable=0    failed=0&lt;br /&gt;
&lt;br /&gt;
Kontrollime tulemust klientarvutis (192.168.56.1):&lt;br /&gt;
&lt;br /&gt;
 student@client:~$ dpkg -l|grep apache&lt;br /&gt;
 ii  apache2                                     2.2.22-1ubuntu1.4                       Apache HTTP Server metapackage&lt;br /&gt;
 ii  apache2-mpm-worker                          2.2.22-1ubuntu1.4                       Apache HTTP Server - high speed threaded model&lt;br /&gt;
 ii  apache2-utils                               2.2.22-1ubuntu1.4                       utility programs for webservers&lt;br /&gt;
 ii  apache2.2-bin                               2.2.22-1ubuntu1.4                       Apache HTTP Server common binary files&lt;br /&gt;
 ii  apache2.2-common                            2.2.22-1ubuntu1.4                       Apache HTTP Server common files&lt;br /&gt;
 &lt;br /&gt;
 student@client:~$ dpkg -l|grep php5&lt;br /&gt;
 ii  php5                                        5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (metapackage)&lt;br /&gt;
 ii  php5-cgi                                    5.3.10-1ubuntu3.9                       server-side, HTML-embedded scripting language (CGI binary)&lt;br /&gt;
 ii  php5-cli                                    5.3.10-1ubuntu3.9                       command-line interpreter for the php5 scripting language&lt;br /&gt;
 ii  php5-common                                 5.3.10-1ubuntu3.9                       Common files for packages built from the php5 source&lt;br /&gt;
 ii  php5-curl                                   5.3.10-1ubuntu3.9                       CURL module for php5&lt;br /&gt;
 ii  php5-ldap                                   5.3.10-1ubuntu3.9                       LDAP module for php5&lt;br /&gt;
&lt;br /&gt;
=== Konfifaili lisamine/muutmine ===&lt;br /&gt;
&lt;br /&gt;
== Kasulikk materjale ==&lt;br /&gt;
* https://www.youtube.com/watch?v=PDRdCqFp2sY Continuous Deployment with Ansible&lt;br /&gt;
* http://www.ansibleworks.com/tech/ How Ansible Works&lt;br /&gt;
* http://docs.ansible.com/modules.html Documentation&lt;br /&gt;
==Kasutatud kirjandus==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autorid ==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Svesi Silver Vesi] AK31&amp;lt;br/&amp;gt;&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/User:Ptomusk Peeter Tomusk] AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Systemd&amp;diff=73444</id>
		<title>Systemd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Systemd&amp;diff=73444"/>
		<updated>2014-01-10T12:07:07Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* Tehniline kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
===Eeldused lugejale===&lt;br /&gt;
* Saab iseseivalt hakkama Linux&#039;i käsureaga [https://wiki.itcollege.ee/index.php/Osadmin_spikker]&lt;br /&gt;
* On kursis erinevate teenuste olemasoluga ja nende haldamise vajadusega [https://wiki.itcollege.ee/index.php/Category:IT_infrastruktuuri_teenused]&lt;br /&gt;
* Suudab enda privileege iseseisvalt eskaleerida juurkasutajaks [https://wiki.itcollege.ee/index.php/Sudo_ja_sudoers ]&lt;br /&gt;
&lt;br /&gt;
===systemd üldine kirjeldus===&lt;br /&gt;
&#039;&#039;Järgnev alampeatükk on refereeritud systemd [http://freedesktop.org/wiki/Software/systemd/ kodulehelt].&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Systemd on Linux&#039;i süsteemi ja teenuste haldur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Kirjutatud C keeles, võimaldamaks suuremat töökiirust võrreldes eellastega, kuid sellest hoolimata on tagasiühilduv [[SystemV]] ja [[LSB]] käivitusskriptidega.&lt;br /&gt;
;Põhilised disainielemendid&lt;br /&gt;
* Agressiivne teenuste käivitamise paralleliseerimine&lt;br /&gt;
* Sõltuvustepõhine teenuste käivitamine&lt;br /&gt;
* Sokkelite ja D-Bus&#039;il põhinevalt vajadusepõhine teenuste käivitamine&lt;br /&gt;
* Protsesside haldamine [[cgroup]]&#039;ide abil&lt;br /&gt;
* Kettajagude külgehaakimise vajadusepõhine haldamine&lt;br /&gt;
;Nimi ja selle kasutamine&lt;br /&gt;
Systemd kirjutatakse alati läbivalt väikeste tähtedega, kuid erandkorras on lubatud lause alguses kasutada suurt algustähte.&amp;lt;br/&amp;gt;&lt;br /&gt;
Rooma number D ehk 500 ja V ehk 5 võimaldavad ka hoomata systemd ja [[SystemV]] järglaslikku seost.&lt;br /&gt;
;Loojad&lt;br /&gt;
[http://en.wikipedia.org/wiki/Lennart_Poettering Lennart Poettering] ja [http://en.wikipedia.org/wiki/Kay_Sievers Kay Sievers]&lt;br /&gt;
&lt;br /&gt;
==systemd==&lt;br /&gt;
===Tehniline kirjeldus===&lt;br /&gt;
Systemd käivitab võimalikult palju teenuseid paralleelselt. Võimaldamaks süsteemi kiiremat käivitumist ei oodata iga teenuse tööks vajalike teiste teenuste startimist, vaid pakutakse neile sokleid, mille abil nad omavahel suhtlevad, ning kõnealune osa süsteemi käivitumisest viiakse parallelselt jadamisi loogikale üle alles reaalse vajaduse tekkimisel. Niimoodi on võimalik käivitada näiteks Samba server oluliselt varem kui väljajagatav kettajagu on kettakontrolli läbinud, mis võimaldab näiteks kasutada Sambat kasutajate autentimiseks oluliselt varem kui seda võimaldataks [[SystemV]] puhul. Lisaväärtusena võimaldab soklite kasutamine teenuste omavahelist suhtlust puhverdada ning ka juhul kui kasutaja tõesti soovib näitena toodud kettajagu kasutada esineb süsteemis vea asemel vaid mõningane viivitus. Soklite ja reaalsete teenuste vahelise suhtluse haldamine võimaldab ka vahepeal vea tõttu seiskunud teenuseid vajadusel taaskäivitada kui nende järele peaks mõnel teisel teenusel vajadus tekkima.&lt;br /&gt;
&lt;br /&gt;
===Teenuste haldamine===&lt;br /&gt;
Järgnevalt eeldame et teie poolt hallatava teenuse nimi on määratud muutuja &#039;&#039;&#039;_teenus&#039;&#039;&#039; väärtuseks.&lt;br /&gt;
Samuti on oluline meeles pidada et enamike teenuste haldamine on võimalik vaid juurkasutaja õigustes!&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;Refereerituna systemctl&#039;i [http://www.freedesktop.org/software/systemd/man/systemctl.html manuaal]ist&#039;&#039;&lt;br /&gt;
====Teenuste loetelu ja kirjeldus====&lt;br /&gt;
;Olemasolevate teenuste nimekiri&lt;br /&gt;
 systemctl --list-units&lt;br /&gt;
;Süsteemi käivitumisel ebaõnnestunud teenused&lt;br /&gt;
 systemctl --failed&lt;br /&gt;
&lt;br /&gt;
====Käivitamine/Peatamine====&lt;br /&gt;
;Teenuse käivitamine&lt;br /&gt;
 systemctl start $_teenus&lt;br /&gt;
;Teenuse peatamine&lt;br /&gt;
 systemctl stop $_teenus&lt;br /&gt;
;Teenuse taaskäivitamine&lt;br /&gt;
 systemctl restart $_teenus&lt;br /&gt;
;Teenuse seadistuse taaslaadimine&lt;br /&gt;
 systemctl reload $_teenus&lt;br /&gt;
;Teenuse oleku ülevaade&lt;br /&gt;
 systemctl status $_teenus&lt;br /&gt;
&lt;br /&gt;
====Restartimisel käivitatavad teenused====&lt;br /&gt;
&#039;&#039;&#039;Teenuse määramine restardi käigus käivitavaks või mitte-käivitatavaks ei oma teenuse praeguse oleku suhtes tagajärgi!&#039;&#039;&#039;&lt;br /&gt;
;Kontroll kas teenus käivitatakse automaatselt&lt;br /&gt;
 systemctl is-enabled $_teenus&lt;br /&gt;
;Teenuse määramine vaikimisi käivitatavaks&lt;br /&gt;
 systemctl enable $_teenus&lt;br /&gt;
;Teenuse määramine vaikimisi mitte-käivitatavaks&lt;br /&gt;
 systemctl disable $_teenus&lt;br /&gt;
&lt;br /&gt;
===Süsteemi haldamine===&lt;br /&gt;
&#039;&#039;&#039;Süsteemi haldamiseks tavakasutaja õigustes on vajalik [[polkit]]!&#039;&#039;&#039;[http://www.freedesktop.org/wiki/Software/polkit/]&lt;br /&gt;
;Operatsionisüsteemi taaskäivitamine&lt;br /&gt;
 systemctl reboot&lt;br /&gt;
;Operatsioonisüsteemi seiskamine&lt;br /&gt;
 systemctl poweroff&lt;br /&gt;
&lt;br /&gt;
==systemd&#039;d vaikimisi kasutavad distributsioonid==&lt;br /&gt;
* Arch Linux (oktoober 2012) [https://www.archlinux.org/news/systemd-is-now-the-default-on-new-installations/]&lt;br /&gt;
* Fedora (mai 2011) [http://h-online.com/-1249820]&lt;br /&gt;
* Frugalware Linux (august 2011) [http://frugalware.org/news/223]&lt;br /&gt;
* Mageia (mai 2012) [http://h-online.com/-1582479]&lt;br /&gt;
* openSUSE (september 2012) [http://news.opensuse.org/2012/09/05/opensuse-12-2-green-means-go/]&lt;br /&gt;
* Sabayon Linux (august 2013) [http://www.sabayon.org/release/press-release-sabayon-1308]&lt;br /&gt;
* siduction (detsember 2013) [http://news.siduction.org/2013/12/siduction-2013-2-rc1-released-with-systemd/]&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Systemd pakutavad võimalused ning eelised teiste süsteemihalduritega võrreldes on väga arvukad ning käesolevat artiklit tuleks pigem võtta lühitutvustusena mitte ülevaatena. Autori senine isiklik kogemus on ülimalt positiivne ning ta on veendunud et systemd on parim valik hetkel eksisteerivatest valikutest.&lt;br /&gt;
&lt;br /&gt;
==Kasulikke materjale==&lt;br /&gt;
* http://freedesktop.org/wiki/Software/systemd systemd koduleht&lt;br /&gt;
* http://www.freedesktop.org/wiki/Software/systemd/TipsAndTricks/ Mõned näited keerukamatest protseduuridest&lt;br /&gt;
* https://wiki.archlinux.org/index.php/systemd systemd vägagi põhjalik ülevaade Arch Linux&#039;i wikis&lt;br /&gt;
* http://0pointer.de/blog/projects/systemd.html systemd kirjeldus selle autori (Lennart Poettering&#039;i) poolt&lt;br /&gt;
* https://www.youtube.com/watch?v=TyMLi8QF6sw FOSDEM&#039;i konverentsi raames Lennart Poettering&#039;i poolt systemd&#039;d tutvustava esitluse video&lt;br /&gt;
&lt;br /&gt;
==Töö esitamise tähtajaks valminud versioon==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php?title=Systemd&amp;amp;diff=cur&amp;amp;oldid=72823 Diff praeguse versiooniga]&lt;br /&gt;
==Autor==&lt;br /&gt;
Peeter Tomusk AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Systemd&amp;diff=73443</id>
		<title>Systemd</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Systemd&amp;diff=73443"/>
		<updated>2014-01-10T12:06:06Z</updated>

		<summary type="html">&lt;p&gt;Ptomusk: /* systemd üldine kirjeldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Operatsioonisüsteemide administreerimine ja sidumine]]&lt;br /&gt;
==Sissejuhatus==&lt;br /&gt;
===Eeldused lugejale===&lt;br /&gt;
* Saab iseseivalt hakkama Linux&#039;i käsureaga [https://wiki.itcollege.ee/index.php/Osadmin_spikker]&lt;br /&gt;
* On kursis erinevate teenuste olemasoluga ja nende haldamise vajadusega [https://wiki.itcollege.ee/index.php/Category:IT_infrastruktuuri_teenused]&lt;br /&gt;
* Suudab enda privileege iseseisvalt eskaleerida juurkasutajaks [https://wiki.itcollege.ee/index.php/Sudo_ja_sudoers ]&lt;br /&gt;
&lt;br /&gt;
===systemd üldine kirjeldus===&lt;br /&gt;
&#039;&#039;Järgnev alampeatükk on refereeritud systemd [http://freedesktop.org/wiki/Software/systemd/ kodulehelt].&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
Systemd on Linux&#039;i süsteemi ja teenuste haldur.&amp;lt;br/&amp;gt;&lt;br /&gt;
Kirjutatud C keeles, võimaldamaks suuremat töökiirust võrreldes eellastega, kuid sellest hoolimata on tagasiühilduv [[SystemV]] ja [[LSB]] käivitusskriptidega.&lt;br /&gt;
;Põhilised disainielemendid&lt;br /&gt;
* Agressiivne teenuste käivitamise paralleliseerimine&lt;br /&gt;
* Sõltuvustepõhine teenuste käivitamine&lt;br /&gt;
* Sokkelite ja D-Bus&#039;il põhinevalt vajadusepõhine teenuste käivitamine&lt;br /&gt;
* Protsesside haldamine [[cgroup]]&#039;ide abil&lt;br /&gt;
* Kettajagude külgehaakimise vajadusepõhine haldamine&lt;br /&gt;
;Nimi ja selle kasutamine&lt;br /&gt;
Systemd kirjutatakse alati läbivalt väikeste tähtedega, kuid erandkorras on lubatud lause alguses kasutada suurt algustähte.&amp;lt;br/&amp;gt;&lt;br /&gt;
Rooma number D ehk 500 ja V ehk 5 võimaldavad ka hoomata systemd ja [[SystemV]] järglaslikku seost.&lt;br /&gt;
;Loojad&lt;br /&gt;
[http://en.wikipedia.org/wiki/Lennart_Poettering Lennart Poettering] ja [http://en.wikipedia.org/wiki/Kay_Sievers Kay Sievers]&lt;br /&gt;
&lt;br /&gt;
==systemd==&lt;br /&gt;
===Tehniline kirjeldus===&lt;br /&gt;
Systemd käivitab võimalikult palju teenuseid paralleelselt. Võimaldamaks süsteemi kiiremat käivitumist ei oodata iga teenuse tööks vajalike teiste teenuste startimist vaid pakutakse neile sokleid, mille abil nad omavahel suhtlevad, ning kõnealune osa süsteemi käivitumisest viiakse parallelselt jadamisi loogikale üle alles reaalse vajaduse tekkimisel. Niimoodi on võimalik käivitada näiteks Samba server oluliselt varem kui väljajagatav kettajagu on kettakontrolli läbinud, mis võimaldab näiteks kasutada Sambat kasutajate autentimiseks oluliselt varem kui seda võimaldataks [[SystemV]] puhul. Lisaväärtusena võimaldab soklite kasutamine teenuste omavahelist suhtlust puhverdada ning ka juhul kui kasutaja tõesti soovib näitena toodud kettajagu kasutada esineb süsteemis vea asemel vaid mõningane viivitus. Soklite ja reaalsete teenuste vahelise suhtluse haldamine võimaldab ka vahepeal vea tõttu seiskunud teenuseid vajadusel taaskäivitada kui nende järele peaks mõnel teisel teenusel vajadus tekkima.&lt;br /&gt;
&lt;br /&gt;
===Teenuste haldamine===&lt;br /&gt;
Järgnevalt eeldame et teie poolt hallatava teenuse nimi on määratud muutuja &#039;&#039;&#039;_teenus&#039;&#039;&#039; väärtuseks.&lt;br /&gt;
Samuti on oluline meeles pidada et enamike teenuste haldamine on võimalik vaid juurkasutaja õigustes!&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;Refereerituna systemctl&#039;i [http://www.freedesktop.org/software/systemd/man/systemctl.html manuaal]ist&#039;&#039;&lt;br /&gt;
====Teenuste loetelu ja kirjeldus====&lt;br /&gt;
;Olemasolevate teenuste nimekiri&lt;br /&gt;
 systemctl --list-units&lt;br /&gt;
;Süsteemi käivitumisel ebaõnnestunud teenused&lt;br /&gt;
 systemctl --failed&lt;br /&gt;
&lt;br /&gt;
====Käivitamine/Peatamine====&lt;br /&gt;
;Teenuse käivitamine&lt;br /&gt;
 systemctl start $_teenus&lt;br /&gt;
;Teenuse peatamine&lt;br /&gt;
 systemctl stop $_teenus&lt;br /&gt;
;Teenuse taaskäivitamine&lt;br /&gt;
 systemctl restart $_teenus&lt;br /&gt;
;Teenuse seadistuse taaslaadimine&lt;br /&gt;
 systemctl reload $_teenus&lt;br /&gt;
;Teenuse oleku ülevaade&lt;br /&gt;
 systemctl status $_teenus&lt;br /&gt;
&lt;br /&gt;
====Restartimisel käivitatavad teenused====&lt;br /&gt;
&#039;&#039;&#039;Teenuse määramine restardi käigus käivitavaks või mitte-käivitatavaks ei oma teenuse praeguse oleku suhtes tagajärgi!&#039;&#039;&#039;&lt;br /&gt;
;Kontroll kas teenus käivitatakse automaatselt&lt;br /&gt;
 systemctl is-enabled $_teenus&lt;br /&gt;
;Teenuse määramine vaikimisi käivitatavaks&lt;br /&gt;
 systemctl enable $_teenus&lt;br /&gt;
;Teenuse määramine vaikimisi mitte-käivitatavaks&lt;br /&gt;
 systemctl disable $_teenus&lt;br /&gt;
&lt;br /&gt;
===Süsteemi haldamine===&lt;br /&gt;
&#039;&#039;&#039;Süsteemi haldamiseks tavakasutaja õigustes on vajalik [[polkit]]!&#039;&#039;&#039;[http://www.freedesktop.org/wiki/Software/polkit/]&lt;br /&gt;
;Operatsionisüsteemi taaskäivitamine&lt;br /&gt;
 systemctl reboot&lt;br /&gt;
;Operatsioonisüsteemi seiskamine&lt;br /&gt;
 systemctl poweroff&lt;br /&gt;
&lt;br /&gt;
==systemd&#039;d vaikimisi kasutavad distributsioonid==&lt;br /&gt;
* Arch Linux (oktoober 2012) [https://www.archlinux.org/news/systemd-is-now-the-default-on-new-installations/]&lt;br /&gt;
* Fedora (mai 2011) [http://h-online.com/-1249820]&lt;br /&gt;
* Frugalware Linux (august 2011) [http://frugalware.org/news/223]&lt;br /&gt;
* Mageia (mai 2012) [http://h-online.com/-1582479]&lt;br /&gt;
* openSUSE (september 2012) [http://news.opensuse.org/2012/09/05/opensuse-12-2-green-means-go/]&lt;br /&gt;
* Sabayon Linux (august 2013) [http://www.sabayon.org/release/press-release-sabayon-1308]&lt;br /&gt;
* siduction (detsember 2013) [http://news.siduction.org/2013/12/siduction-2013-2-rc1-released-with-systemd/]&lt;br /&gt;
==Kokkuvõte==&lt;br /&gt;
Systemd pakutavad võimalused ning eelised teiste süsteemihalduritega võrreldes on väga arvukad ning käesolevat artiklit tuleks pigem võtta lühitutvustusena mitte ülevaatena. Autori senine isiklik kogemus on ülimalt positiivne ning ta on veendunud et systemd on parim valik hetkel eksisteerivatest valikutest.&lt;br /&gt;
&lt;br /&gt;
==Kasulikke materjale==&lt;br /&gt;
* http://freedesktop.org/wiki/Software/systemd systemd koduleht&lt;br /&gt;
* http://www.freedesktop.org/wiki/Software/systemd/TipsAndTricks/ Mõned näited keerukamatest protseduuridest&lt;br /&gt;
* https://wiki.archlinux.org/index.php/systemd systemd vägagi põhjalik ülevaade Arch Linux&#039;i wikis&lt;br /&gt;
* http://0pointer.de/blog/projects/systemd.html systemd kirjeldus selle autori (Lennart Poettering&#039;i) poolt&lt;br /&gt;
* https://www.youtube.com/watch?v=TyMLi8QF6sw FOSDEM&#039;i konverentsi raames Lennart Poettering&#039;i poolt systemd&#039;d tutvustava esitluse video&lt;br /&gt;
&lt;br /&gt;
==Töö esitamise tähtajaks valminud versioon==&lt;br /&gt;
[https://wiki.itcollege.ee/index.php?title=Systemd&amp;amp;diff=cur&amp;amp;oldid=72823 Diff praeguse versiooniga]&lt;br /&gt;
==Autor==&lt;br /&gt;
Peeter Tomusk AK41&lt;/div&gt;</summary>
		<author><name>Ptomusk</name></author>
	</entry>
</feed>