From 9edb0f9e48cc923ed443d3d66886713cde9b628d Mon Sep 17 00:00:00 2001 From: Yujun Zhang Date: Thu, 10 Nov 2016 10:59:26 +0800 Subject: Adjust folder structure Note: this patchset may break existing features, but it will help to accelerate the refactoring work. JIRA: QTIP-131 Change-Id: Ie0cd9d185e6b02316878daef905e26f4e533a66b Signed-off-by: Yujun Zhang --- opt/servers/ansible.cfg | 3 ++ opt/servers/elk.yml | 5 +++ opt/servers/inventory | 10 ++++++ opt/servers/ngnix.yml | 4 +++ opt/servers/qtip.yml | 4 +++ opt/servers/roles/docker/handlers/main.yml | 4 +++ opt/servers/roles/docker/tasks/main.yml | 41 ++++++++++++++++++++++ opt/servers/roles/elk/tasks/main.yml | 22 ++++++++++++ opt/servers/roles/ngnix/defaults/main.yml | 7 ++++ opt/servers/roles/ngnix/handlers/main.yml | 4 +++ opt/servers/roles/ngnix/tasks/main.yml | 12 +++++++ opt/servers/roles/ngnix/templates/elk.conf.j2 | 14 ++++++++ opt/servers/roles/ngnix/templates/qtip.conf.j2 | 17 +++++++++ opt/servers/roles/qtip/files/run_qtip_server.sh | 4 +++ opt/servers/roles/qtip/tasks/main.yml | 5 +++ opt/servers/roles/ssh/defaults/main.yml | 6 ++++ opt/servers/roles/ssh/files/serena.authorized_keys | 1 + opt/servers/roles/ssh/files/taseer.authorized_keys | 1 + opt/servers/roles/ssh/files/yujunz.authorized_keys | 3 ++ .../roles/ssh/files/zhifeng.authorized_keys | 1 + opt/servers/roles/ssh/tasks/main.yml | 26 ++++++++++++++ opt/servers/ssh.yml | 4 +++ 22 files changed, 198 insertions(+) create mode 100644 opt/servers/ansible.cfg create mode 100644 opt/servers/elk.yml create mode 100644 opt/servers/inventory create mode 100644 opt/servers/ngnix.yml create mode 100644 opt/servers/qtip.yml create mode 100644 opt/servers/roles/docker/handlers/main.yml create mode 100644 opt/servers/roles/docker/tasks/main.yml create mode 100644 opt/servers/roles/elk/tasks/main.yml create mode 100644 opt/servers/roles/ngnix/defaults/main.yml create mode 100644 opt/servers/roles/ngnix/handlers/main.yml create mode 100644 opt/servers/roles/ngnix/tasks/main.yml create mode 100644 opt/servers/roles/ngnix/templates/elk.conf.j2 create mode 100644 opt/servers/roles/ngnix/templates/qtip.conf.j2 create mode 100644 opt/servers/roles/qtip/files/run_qtip_server.sh create mode 100644 opt/servers/roles/qtip/tasks/main.yml create mode 100644 opt/servers/roles/ssh/defaults/main.yml create mode 100644 opt/servers/roles/ssh/files/serena.authorized_keys create mode 100644 opt/servers/roles/ssh/files/taseer.authorized_keys create mode 100644 opt/servers/roles/ssh/files/yujunz.authorized_keys create mode 100644 opt/servers/roles/ssh/files/zhifeng.authorized_keys create mode 100644 opt/servers/roles/ssh/tasks/main.yml create mode 100644 opt/servers/ssh.yml (limited to 'opt') diff --git a/opt/servers/ansible.cfg b/opt/servers/ansible.cfg new file mode 100644 index 00000000..93022c4e --- /dev/null +++ b/opt/servers/ansible.cfg @@ -0,0 +1,3 @@ +[defaults] +hostfile = inventory +host_key_checking = False \ No newline at end of file diff --git a/opt/servers/elk.yml b/opt/servers/elk.yml new file mode 100644 index 00000000..e2696573 --- /dev/null +++ b/opt/servers/elk.yml @@ -0,0 +1,5 @@ +--- +- hosts: elk-servers + roles: + - docker + - elk diff --git a/opt/servers/inventory b/opt/servers/inventory new file mode 100644 index 00000000..74c04c42 --- /dev/null +++ b/opt/servers/inventory @@ -0,0 +1,10 @@ +qtip-dev ansible_host=qtip.openzero.net + +[elk-servers] +qtip-dev + +[ngnix-servers] +qtip-dev + +[qtip-servers] +qtip-dev diff --git a/opt/servers/ngnix.yml b/opt/servers/ngnix.yml new file mode 100644 index 00000000..d57a5603 --- /dev/null +++ b/opt/servers/ngnix.yml @@ -0,0 +1,4 @@ +--- +- hosts: ngnix-servers + roles: + - ngnix diff --git a/opt/servers/qtip.yml b/opt/servers/qtip.yml new file mode 100644 index 00000000..f0ac3c4e --- /dev/null +++ b/opt/servers/qtip.yml @@ -0,0 +1,4 @@ +--- +- hosts: qtip-servers + roles: + - qtip diff --git a/opt/servers/roles/docker/handlers/main.yml b/opt/servers/roles/docker/handlers/main.yml new file mode 100644 index 00000000..985f8d41 --- /dev/null +++ b/opt/servers/roles/docker/handlers/main.yml @@ -0,0 +1,4 @@ +--- +- name: starting docker service + become: true + service: name=docker state=started diff --git a/opt/servers/roles/docker/tasks/main.yml b/opt/servers/roles/docker/tasks/main.yml new file mode 100644 index 00000000..1cf3bea0 --- /dev/null +++ b/opt/servers/roles/docker/tasks/main.yml @@ -0,0 +1,41 @@ +- name: adding keys + become: true + apt_key: keyserver=hkp://p80.pool.sks-keyservers.net id=0X58118E89F3A912897C070ADBF76221572C52609D + +- name: adding entry for ubuntu + become: true + apt_repository: repo='deb https://apt.dockerproject.org/repo ubuntu-xenial main' state=present filename='docker' + when: ansible_distribution == "Ubuntu" and ansible_distribution_version == "16.04" + +- name: installing from docker repo + become: true + shell: apt-cache policy docker-engine + when: ansible_distribution == "Ubuntu" and ansible_distribution_version== "16.04" + +- name: adding entry for ubuntu + become: true + apt_repository: repo='deb https://apt.dockerproject.org/repo ubuntu-trusty main' state=present filename='docker' + when: ansible_distribution == "Ubuntu" and ansible_distribution_version == "14.04" + +- name: updating + become: true + apt: update_cache=yes + +- name: installing docker engine + become: true + apt: name=docker-engine + notify: + - starting docker service + +- name: install pip + become: true + apt: name={{item}} state=installed + with_items: + - python-dev + - python-pip + +- name: install docker-py + become: true + pip: + name: docker-py + version: 1.7.0 diff --git a/opt/servers/roles/elk/tasks/main.yml b/opt/servers/roles/elk/tasks/main.yml new file mode 100644 index 00000000..ed987f1a --- /dev/null +++ b/opt/servers/roles/elk/tasks/main.yml @@ -0,0 +1,22 @@ +--- +- name: pulling elasticsearch and kibana + become: true + docker_image: name={{ item }} state=present + with_items: + - elasticsearch + - kibana + +- name: setting up elasticsearch + become: true + docker_container: + name: esearch + image: elasticsearch + published_ports: 9200:9200 + +- name: setting up kibana + become: true + docker_container: + name: kibana + image: kibana + published_ports: 5601:5601 + links: esearch:elasticsearch diff --git a/opt/servers/roles/ngnix/defaults/main.yml b/opt/servers/roles/ngnix/defaults/main.yml new file mode 100644 index 00000000..cb3b3934 --- /dev/null +++ b/opt/servers/roles/ngnix/defaults/main.yml @@ -0,0 +1,7 @@ +--- +services: + - { name: kibana, upstream: 'http://127.0.0.1:5601' } + - { name: elastic, upstream: 'http://127.0.0.1:9200' } + +qtip_services: + - { name: restful_api, upstream: 'http://127.0.0.1:5000' } diff --git a/opt/servers/roles/ngnix/handlers/main.yml b/opt/servers/roles/ngnix/handlers/main.yml new file mode 100644 index 00000000..35585363 --- /dev/null +++ b/opt/servers/roles/ngnix/handlers/main.yml @@ -0,0 +1,4 @@ +--- +- name: restart nginx + become: true + service: name=nginx state=restarted diff --git a/opt/servers/roles/ngnix/tasks/main.yml b/opt/servers/roles/ngnix/tasks/main.yml new file mode 100644 index 00000000..ec146850 --- /dev/null +++ b/opt/servers/roles/ngnix/tasks/main.yml @@ -0,0 +1,12 @@ +--- +- name: nginx is installed + become: true + package: name=nginx state=present +- name: qtip server configuration is generated + become: true + template: src={{ item }}.conf.j2 dest=/etc/nginx/sites-enabled/{{ item }}.conf + with_items: + - elk + - qtip + notify: + - restart nginx diff --git a/opt/servers/roles/ngnix/templates/elk.conf.j2 b/opt/servers/roles/ngnix/templates/elk.conf.j2 new file mode 100644 index 00000000..271690e0 --- /dev/null +++ b/opt/servers/roles/ngnix/templates/elk.conf.j2 @@ -0,0 +1,14 @@ +# {{ ansible_managed }} + +# servers +# +{% for service in services %} +server { + listen 80; + listen 443 ssl; + server_name {{ service.name }}.qtip.openzero.net; + location / { + proxy_pass {{ service.upstream }}; + } +} +{% endfor %} diff --git a/opt/servers/roles/ngnix/templates/qtip.conf.j2 b/opt/servers/roles/ngnix/templates/qtip.conf.j2 new file mode 100644 index 00000000..3a15c6ba --- /dev/null +++ b/opt/servers/roles/ngnix/templates/qtip.conf.j2 @@ -0,0 +1,17 @@ +# {{ ansible_managed }} + +# servers +# +{% for service in qtip_services %} +server { + listen 80; + listen 443 ssl; + server_name {{ service.name }}.qtip.openzero.net; + location / { + proxy_pass {{ service.upstream }}; + sub_filter {{ service.upstream }} 'http://{{ service.name }}.qtip.openzero.net'; + sub_filter_once off; + sub_filter_types text/html application/json; + } +} +{% endfor %} diff --git a/opt/servers/roles/qtip/files/run_qtip_server.sh b/opt/servers/roles/qtip/files/run_qtip_server.sh new file mode 100644 index 00000000..0f5cafea --- /dev/null +++ b/opt/servers/roles/qtip/files/run_qtip_server.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +envs="INSTALLER_TYPE=fuel -e INSTALLER_IP=10.20.0.2 -e NODE_NAME=zte-pod1" +docker run --name qtip -id -e $envs -p 5000:5000 opnfv/qtip diff --git a/opt/servers/roles/qtip/tasks/main.yml b/opt/servers/roles/qtip/tasks/main.yml new file mode 100644 index 00000000..b8292791 --- /dev/null +++ b/opt/servers/roles/qtip/tasks/main.yml @@ -0,0 +1,5 @@ +--- +# TODO:change the script to docker_container. +- name: setting up qtip + become: true + script: ../files/run_qtip_server.sh diff --git a/opt/servers/roles/ssh/defaults/main.yml b/opt/servers/roles/ssh/defaults/main.yml new file mode 100644 index 00000000..41ee9853 --- /dev/null +++ b/opt/servers/roles/ssh/defaults/main.yml @@ -0,0 +1,6 @@ +--- +users: + - { name: yujunz, comment: "Yujun Zhang " } + - { name: taseer, comment: "Taseer Ahmed " } + - { name: serena, comment: "Serena Feng " } + - { name: zhifeng, comment: "Zhifeng Jiang" } diff --git a/opt/servers/roles/ssh/files/serena.authorized_keys b/opt/servers/roles/ssh/files/serena.authorized_keys new file mode 100644 index 00000000..5cdbfe00 --- /dev/null +++ b/opt/servers/roles/ssh/files/serena.authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDYlLrMOPxwLNQvLpxXVLYXQCxNkaKfVWt7u9k+6T0SU7VNuT8e1VoTk6b/iVWyXQ4j1hW4sNroTucqZjl+8V2z2nYgpEMIy6jBuehlKP2LJ9v/p98/OBVVxgEnRJGzFYIeO/GKBLMaUu43OkCO2Ef67qKeISeNP5/ewUR12YCUHQg5GkGYnDL3fFd7SiVDkYPEXQvHfi85beGOuPwDTjbKoKbF9WATIIzJSPUmslGjFRpKqM8AQLGWEyTeklU7H4ddRqaKxe6DGbpTLJM2rCMF8W91097nmiOKEnuxi6vJKTmyX81BZXi48ugCRh3942ONYRH8W7dBegrvRY3kyAtH root@gsmdev-VirtualBox diff --git a/opt/servers/roles/ssh/files/taseer.authorized_keys b/opt/servers/roles/ssh/files/taseer.authorized_keys new file mode 100644 index 00000000..2efb95e8 --- /dev/null +++ b/opt/servers/roles/ssh/files/taseer.authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDCxCG9Z+8rBLQiJ9yt+RzRkAZZQIlou83e899Kkuf/UgXd+1TUgIu4AJUDvayrorTxk2kw7ra+DoysEa2NBkLL6FNnG+NpYV+XTaG+Z3tvp4l62ROV+5+O4soiWtBroRghQPDkrpiTQuFJ7/BKQt9bKZYPb3t2bxCLeFVWtUzCpFDIj6wDPGwDeTLnLMPtQNQtIlgPV+XGAet17rNSrm7EcDzqdDQcdZFmfeH5YvBsY9ZO+qwcbelEpMBWPsyEMU6OgwTqUj7mm3o+Quew35y13Zrhf+GAx5ZMXho/Cpjp1TzognDkwAFpFzZG7zWSNexXrD15Wzgyae2cl/vD75I7 taseer@123.org \ No newline at end of file diff --git a/opt/servers/roles/ssh/files/yujunz.authorized_keys b/opt/servers/roles/ssh/files/yujunz.authorized_keys new file mode 100644 index 00000000..83ed540d --- /dev/null +++ b/opt/servers/roles/ssh/files/yujunz.authorized_keys @@ -0,0 +1,3 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC0o+WARhbI5DeZK9eiZKVprY3oQ910npo/EPFI9prfpN7zeF0UA4TwT9rqsrwFgRQeJkKvbDTOPt5Ox9vLIEnxT4PdirvrYNxtyJHHfbL4ZxKemYhBi2BA6CAbI3f9CR+dtbfOBxtTpXAj1Y5oA9y59o1hqHpuVmM8dBpcQt/ELdYCHZ0khxft5WaSOURsslTZN18bikVX9WHlKflVyRA8efxqzTZ4w5ufHl1Fv9i/G0u7iGbUtvlI8X7+Z+ePuysZhHKErQSGfv2NybDi+r8xM5hL2LYXxjAu0PV58olUl1SX40OY9yA2Yx+PVzIGhv6EQ8snUFnsoMy0ZIbQ+ysB yujunz@silver.mbp +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDs9VhmmGg0c7FTLMtoZlPue4N1DdSCh6r6YssmEY3e1GHPXJTGGTX7QKXEBlWd7EXq+uedwN+lU9C/FClwneP0M+4vprgqdmUcmlCoSI/RffQAymcuGbxvfptNcLpBApHn4C+e93H/5ryaypaG+6n8WtbDZDtvWgn2ZJY6hDdJSw6Y++C+zDI0QliTsrCHmnGnYcRuDWUNgaiERvW3cvpeF5duFJcDZ0NtMl2UjeGMYL0JU6YfIOIeeFwD0Su86Nf3RtoKF+RzO4LcrGLvywzM7C/iCncIdj6GZjpVBYnB5U6YUh8VqLjHVHjmjTpAjmsWcc8NnwNG9rHDbG6nrGWd yujunz@silver + diff --git a/opt/servers/roles/ssh/files/zhifeng.authorized_keys b/opt/servers/roles/ssh/files/zhifeng.authorized_keys new file mode 100644 index 00000000..195cfdca --- /dev/null +++ b/opt/servers/roles/ssh/files/zhifeng.authorized_keys @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuck9a5uUXLtzlTaCYhwcLDffFH8o5ldhU4iKr0D4KaXlFfUsKD7VyHN+Zck3HBWTB4U7X9FEeFINtp2v2aoY8n74TS4LUGT8yqRYLyvsh2LgrhE4ouRvYgWlrZGice2x6ZZrcGM4uoGTC/lUHEvMDGDkDxUCfhxlFWcrplCUMcgd1V/5U14s0ufDgLGyEhXWWXFW4pNoqKBEGZNChBSvnq+NvOD7I4jgStUm9REooOp/VPpubH/6mSvDSTokCvrgWSCaNpcDqLCUjhwpoT/D1oFzEd4jBfPSV3jva+eAKPE2r/dnudQR5NR8T/eUz25YRGeJfrjDP6cMgXJoG43IXQ== root@fuel.domain.tld diff --git a/opt/servers/roles/ssh/tasks/main.yml b/opt/servers/roles/ssh/tasks/main.yml new file mode 100644 index 00000000..7de1e208 --- /dev/null +++ b/opt/servers/roles/ssh/tasks/main.yml @@ -0,0 +1,26 @@ +- name: add users for ssh access + become: true + user: + name: "{{ item.name }}" + comment: "{{ item.comment }}" + groups: "qtip" + append: yes + with_items: "{{ users }}" +- name: create .ssh directory + become: true + file: + path: "/home/{{ item.name }}/.ssh" + state: directory + owner: "{{ item.name }}" + group: "{{ item.name }}" + mode: 0700 + with_items: "{{ users }}" +- name: authorize public key + become: true + copy: + src: "{{ item.name }}.authorized_keys" + dest: "/home/{{ item.name }}/.ssh/authorized_keys" + owner: "{{ item.name }}" + group: "{{ item.name }}" + mode: 0600 + with_items: "{{ users }}" \ No newline at end of file diff --git a/opt/servers/ssh.yml b/opt/servers/ssh.yml new file mode 100644 index 00000000..bd74ab3b --- /dev/null +++ b/opt/servers/ssh.yml @@ -0,0 +1,4 @@ +--- +- hosts: elk-servers + roles: + - ssh -- cgit 1.2.3-korg