-
Notifications
You must be signed in to change notification settings - Fork 173
/
README.md
132 lines (79 loc) · 3.32 KB
/
README.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
About
=====
自动化综合管理平台 ~集成ansibleUI
Function
=====
* 按照项目来组织布局,更为直观,上手简单
* 提供简单易懂的主机管理界面
* 提供用户密钥管理功能
* 提供yml文件界面管理功能
* 提供任务部署功能
* 提供文件传输功能
* 提供命令执行功能
* 提供预约执行功能
* 提供任务模板功能
* 提供log功能
* 提供邮件通知功能
* 基于celery队列进行任务分发,便于扩展
UserManual
=====
[ansible_ui平台用户手册](https://github.com/yianjiajia/django_web_ansible/tree/master/documents)
Requirements
=====
* pip
* virtualenv
* mysql-server,mysql-devel
* openldap-devel
Install
=====
* 系统为CentOS6.5
* 添加系统用户
useradd ansible
su - ansible
* 配置virtualenv环境
virtualenv envansible
source envansible/bin/active
* 安装依赖库
cd ansible-ui
pip install -r requirements.txt
pip install PIL --allow-external PIL --allow-unverified PIL
* 配置ldap、数据库和邮件信息
cd desktop/core/internal
vim settings_local.py
# 修改 LDAP Datebase Mail 和ansible_playbook命令位置(which ansible_playbook)配置
如果需要使用ldap,还需要修改settings.py,去掉下面行的注释
#'desktop.core.auth.backend.LdapBackend',
* 配置数据库
create database ansible CHARACTER SET utf8;
grant all on ansible.* to ansibleuser@'localhost' identified by '******';
* 初始化数据库
python manage.py schemamigration desktop.apps.account --init
python manage.py schemamigration desktop.apps.ansible --init
python manage.py syncdb
python manage.py migrate ansible
python manage.py migrate account
python manage.py migrate kombu.transport.django
python manage.py migrate djcelery
python manage.py migrate guardian
* 配置celery
修改celery-conf/supervisord.conf
[inet_http_server] #配置web管理supervisor
[program:ansible_celeryd] #修改command中 virtualenv 和 ansible_ui home
* 启动celery
supervisord -c celery-conf/supervisord.conf
* 配置ansible
cp ansible-conf/ansible.cfg ~/.ansible.cfg
* Vagrant + Ansible
感谢[yunlzheng](https://github.com/yunlzheng)提供了使用vagrant+ansible自动构建开发环境的方式[Vagrantfile](https://github.com/alaxli/ansible_ui/blob/master/Vagrantfile)+[playbook.yml](https://github.com/alaxli/ansible_ui/blob/master/playbook.yml),具体操作推荐阅读yunlzheng的[《利用Ansible将开发环境纳入版本管理》](http://yunlzheng.github.io/2014/08/08/vagrant-with-ansible/)
Run
=====
* 直接运行
python manage.py runserver ip:8000
* apache + wsgi
修改apache-conf/ansible.cfg : ansible_ui_dir,指向实际目录
修改django.wsgi : yourvirtualenv 指向实际目录
拷贝apache-conf/ansible.cfg 到apache配置目录下
重启 httpd
Problem
=====
* 已知问题:在单核CPU服务器上任务无法运行(在调用pexpect时会报“ValueError: I/O operation on closed file”错误,类似这个[问题](http://stackoverflow.com/questions/24524162/pexpect-runs-failed-when-use-multiprocessing),如果要在单核CPU服务器上运行,请将pexpect降为2.4版本