From ac90ff980446040778c2323777e1fa9058aaef81 Mon Sep 17 00:00:00 2001 From: "Paul W. Frields" Date: Thu, 14 Sep 2017 14:40:14 +0000 Subject: [PATCH] Add preliminary definitions for Ansible Magazine N.B.: no proxy configs are set up in this commit. Expectation is only a small crew of A-Mag interested folks will be testing for now. --- inventory/cloud | 1 + .../ansiblemagazine.fedorainfracloud.org | 28 +++++++ inventory/inventory | 2 + master.yml | 1 + .../ansiblemagazine.fedorainfracloud.org.yml | 73 +++++++++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 inventory/host_vars/ansiblemagazine.fedorainfracloud.org create mode 100644 playbooks/hosts/ansiblemagazine.fedorainfracloud.org.yml diff --git a/inventory/cloud b/inventory/cloud index cdb206f998..201e9b8b0f 100644 --- a/inventory/cloud +++ b/inventory/cloud @@ -1,4 +1,5 @@ [cloud] +ansiblemagazine.fedorainfracloud.org arm03-packager00.cloud.fedoraproject.org arm03-packager01.cloud.fedoraproject.org arm03-qa00.cloud.fedoraproject.org diff --git a/inventory/host_vars/ansiblemagazine.fedorainfracloud.org b/inventory/host_vars/ansiblemagazine.fedorainfracloud.org new file mode 100644 index 0000000000..9ccb71e7ff --- /dev/null +++ b/inventory/host_vars/ansiblemagazine.fedorainfracloud.org @@ -0,0 +1,28 @@ +--- +image: rhel7-20141015 +instance_type: m1.large +keypair: fedora-admin-20130801 +security_group: ssh-anywhere-persistent,web-80-anywhere-persistent,web-443-anywhere-persistent,allow-nagios-persistent,default,all-icmp-persistent +zone: nova +tcp_ports: [22, 80, 443] + +inventory_tenant: persistent +inventory_instance_name: ansiblemagazine +hostbase: ansiblemagazine +public_ip: +root_auth_users: gdk rbergero pfrields +description: Ansible Magazine + +host_backup_targets: ['/backups', '/var/www/html'] +dbs_to_backup: ['wp'] +mariadb_root_password: "{{ ansiblemagazine_mariadb_password }}" +extra_enablerepos: '' + +cloud_networks: + # persistent-net + - net-id: "67b77354-39a4-43de-b007-bb813ac5c35f" + +nagios_Check_Services: + nrpe: true + sshd: true + httpd: true diff --git a/inventory/inventory b/inventory/inventory index 2a66c56335..59202008e1 100644 --- a/inventory/inventory +++ b/inventory/inventory @@ -1187,6 +1187,8 @@ communityblog.fedorainfracloud.org # Fedora Magazine #magazine.fedorainfracloud.org magazine2.fedorainfracloud.org +# Ansible Magazine +ansiblemagazine.fedorainfracloud.org # Flock RegCfp instance regcfp2.fedorainfracloud.org # Modularity (ticket 5390) diff --git a/master.yml b/master.yml index 5b5492fd07..b8f27fdd22 100644 --- a/master.yml +++ b/master.yml @@ -145,6 +145,7 @@ - include: /srv/web/infra/ansible/playbooks/hosts/insim.fedorainfracloud.org.yml - include: /srv/web/infra/ansible/playbooks/hosts/lists-dev.fedorainfracloud.org.yml - include: /srv/web/infra/ansible/playbooks/hosts/magazine2.fedorainfracloud.org.yml +- include: /srv/web/infra/ansible/playbooks/hosts/ansiblemagazine.fedorainfracloud.org.yml - include: /srv/web/infra/ansible/playbooks/hosts/modernpaste.fedorainfracloud.org.yml - include: /srv/web/infra/ansible/playbooks/hosts/modularity.fedorainfracloud.org.yml - include: /srv/web/infra/ansible/playbooks/hosts/piwik.fedorainfracloud.org.yml diff --git a/playbooks/hosts/ansiblemagazine.fedorainfracloud.org.yml b/playbooks/hosts/ansiblemagazine.fedorainfracloud.org.yml new file mode 100644 index 0000000000..6299ef3ceb --- /dev/null +++ b/playbooks/hosts/ansiblemagazine.fedorainfracloud.org.yml @@ -0,0 +1,73 @@ +- name: check/create instance + hosts: magazine2.fedorainfracloud.org + gather_facts: False + + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - /srv/private/ansible/vars.yml + - /srv/web/infra/ansible/vars/fedora-cloud.yml + - /srv/private/ansible/files/openstack/passwords.yml + + tasks: + - include: "{{ tasks_path }}/persistent_cloud.yml" + + handlers: + - include: "{{ handlers_path }}/restart_services.yml" + +- name: setup all the things + hosts: ansiblemagazine.fedorainfracloud.org + gather_facts: True + vars_files: + - /srv/web/infra/ansible/vars/global.yml + - /srv/private/ansible/vars.yml + - /srv/private/ansible/files/openstack/passwords.yml + - /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml + + pre_tasks: + - include: "{{ tasks_path }}/cloud_setup_basic.yml" + - name: set hostname (required by some services, at least postfix need it) + hostname: name="{{inventory_hostname}}" + + tasks: + - name: add packages + yum: state=present name={{ item }} + with_items: + - httpd + - php + - php-mysql + - mariadb-server + - mariadb + - mod_ssl + - php-mcrypt + - php-mbstring + - wget + - unzip + - postfix + - wordpress + + - name: enable httpd service + service: name=httpd enabled=yes state=started + + - name: configure postfix for ipv4 only + raw: postconf -e inet_protocols=ipv4 + + - name: enable local postfix service + service: name=postfix enabled=yes state=started + + roles: + - basessh + - nagios_client + - mariadb_server + + post_tasks: + - name: create databaseuser + mysql_user: name=magazine + host=localhost + state=present + password="{{ ansiblemagazine_db_password }}" + priv="ansiblemagazine.*:ALL" + + - name: Wordpress cron + cron: name="Wordpress cron" + minute="*/10" + job="curl http://localhost:8008/wp-cron.php >/dev/null"