实验环境:关闭防火墙,iptables,selinux
系统版本 hostname ip 角色
redhat7.3 server1 172.25.45.1 controller \ salt-minion
redhat7.3 server2 172.25.45.2 comput \ salt-minion
redhat7.3 server3 172.25.45.3 salt-master
1.saltstack环境安装
2.修改salt-master配置主目录
[root@server3 salt_openstack]# vim /etc/salt/master
3.创建saltstack脚本进行自动化部署
[root@server3 ~]# vim salt_openstack/base/top.sls
base: 'server1': - ntp.service
- openstack.install
- sql.init
- rabbitmq.service
- memcached.service
- keystone.service
- service_entity.service
- glance.service
- nova.services
- neutron.services
- dashboard.service
'server2': - ntp.service
- comput_node.service
server1为控制节点,server2为计算节点
[root@server3 ~]# mkdir -p /srv/salt/controller/files
[root@server3 ~]# mkdir -p /srv/salt/comput/files
[root@server3 ~]# mkdir -p /srv/salt/chrony/files
[root@server3 ~]# mkdir -p /srv/salt/pkg
1.controller
controller服务预安装脚本
[root@server3 ~]# cd /srv/salt/controller
[root@server3 controller]# vim files/mitaka.repo
[mitaka]
name=mitaka
baseurl=http://172.25.45.250/mitaka/mitaka/
gpgcheck=0
[root@server3 salt]# vim pkg/controller.sls
controller:
pkg.installed:
- pkgs:
- chrony
- python-openstackclient
- mariadb
- mariadb-server
- python2-PyMySQL
- rabbitmq-server
- memcached
- python-memcached
- install
- openstack-keystone
- httpd
- mod_wsgi
- openstack-glance
- openstack-nova-api
- openstack-nova-conductor
- openstack-nova-console
- openstack-nova-novncproxy
- openstack-nova-scheduler
- nstall
- openstack-neutron
- openstack-neutron-ml2
- openstack-neutron-linuxbridge
- ebtables
3.controller服务安装脚本
[root@server3 salt]# vim controller/install.sls
install_pkgs:
file.managed:
- name: /etc/yum.repos.d/mitaka.repo
- source: salt://controller/files/mitaka.repo
- user: root
- group: root
- mode: 644
include:
- pkg.controller
/etc/chrony.conf:
file.managed:
- source: salt://controller/files/chrony.conf
/etc/my.cnf.d/openstack.cnf:
file.managed:
- source: salt://controller/files/openstack.cnf
/etc/sysconfig/memcached:
file.managed:
- source: salt://controller/files/memcached
/etc/keystone/keystone.conf:
file.managed:
- source: salt://controller/files/keystone.conf
/etc/httpd/conf/httpd.conf:
file.managed:
- source: salt://controller/files/httpd.conf
/etc/httpd/conf.d/wsgi-keystone.conf:
file.managed:
- source: salt://controller/files/wsgi-keystone.conf
/admin-openrc:
file.managed:
- source: salt://controller/files/admin-openrc
/demo-openrc:
file.managed:
- source: salt://controller/files/demo-openrc
/etc/glance/glance-api.conf:
file.managed:
- source: salt://controller/files/glance-api.conf
/etc/glance/glance-registry.conf:
file.managed:
- source: salt://controller/files/glance-registry.conf
/etc/nova/nova.conf:
file.managed:
- source: salt://controller/files/nova.conf
/etc/neutron/neutron.conf:
file.managed:
- source: salt://controller/files/neutron.conf
/etc/neutron/plugins/ml2/ml2_conf.ini:
file.managed:
- source: salt://controller/files/ml2_conf.ini
/etc/neutron/plugins/ml2/linuxbridge_agent.ini:
file.managed:
- source: salt://controller/files/linuxbridge_agent.ini
/etc/neutron/dhcp_agent.ini:
file.managed:
- source: salt://controller/files/dhcp_agent.ini
/etc/neutron/metadata_agent.ini:
file.managed:
- source: salt://controller/files/metadata_agent.ini
/etc/nova/nova.conf:
file.managed:
- source: salt://controller/files/nova.conf