使用vagrant一键安装rackspace openstack private cloud


向vagrant中添加vagrant box:
vagrant box add centos64  http://public.thornelabs.net/centos-6.4-x86_64.box

vagrantfile文件内容如下:
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
# -*- mode: ruby -*-
 
# vi: set ft=ruby :
 
VAGRANTFILE_API_VERSION = "2"
 
$commonscript = <<COMMONSCRIPT
# Set verbose
set -v
 
# Set exit on error
set -e
 
# Silly Ubuntu 12.04 doesn't have the
# --stdin option in the passwd utility
echo root:vagrant | chpasswd
 
cat << EOF >> /etc/hosts
192.168.236.10 chef
192.168.236.11 controller1
192.168.236.12 compute1
EOF
COMMONSCRIPT
 
$chefscript = <<CHEFSCRIPT
# Set verbose
set -v
 
# Set exit on error
set -e
 
# Silly Ubuntu 12.04 doesn't have the
# --stdin option in the passwd utility
echo root:vagrant | chpasswd
 
cat << EOF >> /etc/hosts
192.168.236.10 chef
192.168.236.11 controller1
192.168.236.12 compute1
EOF
 
wget https://raw.github.com/rcbops/support-tools/master/chef-install/install-chef-server.sh -/tmp/install-chef-server.sh --no-check-certificate
 
chmod +/tmp/install-chef-server.sh
 
export CHEF_URL="https://chef:443"
 
/tmp/install-chef-server.sh
 
cd /root
 
git clone https://github.com/rcbops/chef-cookbooks.git
 
cd chef-cookbooks
 
git checkout v4.2.1
git submodule init
git submodule sync
git submodule update
 
knife cookbook upload --o cookbooks
 
knife role from file roles/*rb
 
cat << EOF >> /tmp/rpcv421.json
{
    "name""rpcv421",
    "description""Rackspace Private Cloud v4.2.1",
    "cookbook_versions": {},
    "json_class""Chef::Environment",
    "chef_type""environment",
    "default_attributes": {},
    "override_attributes": {
        "nova": {
            "libvirt": {
                "virt_type""qemu",
                "vncserver_listen""0.0.0.0"
            },
            "network": {
                "provider""neutron"
            }
        },
        "neutron": {
            "ovs": {
                "provider_networks": [
                    {
                        "label""ph-eth2",
                        "bridge""br-eth2"
                    }
                ],
                "network_type""gre",
                "network""neutron"
            }
        },
        "mysql": {
            "allow_remote_root": true,
            "root_network_acl""%"
        },
        "osops_networks": {
            "nova""192.168.236.0/24",
            "public""192.168.236.0/24",
            "management""192.168.236.0/24",
            "neutron""192.168.240.0/24"
        }
    }
}
EOF
 
knife environment from file /tmp/rpcv421.json
 
ssh-keygen -t rsa -N "" -/root/.ssh/id_rsa
 
ssh-keyscan controller1 >> /root/.ssh/known_hosts
ssh-keyscan 192.168.236.11 >> /root/.ssh/known_hosts
 
ssh-keyscan compute1 >> /root/.ssh/known_hosts
ssh-keyscan 192.168.236.12 >> /root/.ssh/known_hosts
 
yum install -y expect
 
expect<<EOF
spawn ssh-copy-id controller1
expect "root@controller1's password:"
send "vagrant\n"
expect eof
EOF
 
expect<<EOF
spawn ssh-copy-id compute1
expect "root@compute1's password:"
send "vagrant\n"
expect eof
EOF
 
knife bootstrap controller1 --environment rpcv421 --run-list 'role[single-controller],role[single-network-node]' || while ! knife ssh "name:controller1" "chef-client"; do echo "chef-client failed, retrying"; sleep 5; done
 
knife bootstrap compute1 --environment rpcv421 --run-list 'role[single-compute]' || while ! knife ssh "name:compute1" "chef-client"; do echo "chef-client failed, retrying"; sleep 5; done
 
echo "All done!"
CHEFSCRIPT
 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
 
  config.vm.box = "centos64"
 
  # Turn off shared folders
  config.vm.synced_folder ".""/vagrant"id"vagrant-root", disabled: true
 
  # Begin controller1
  config.vm.define "controller1" do |controller1_config|
    controller1_config.vm.hostname = "controller1"
 
    controller1_config.vm.provision "shell", inline: $commonscript
 
    # eth1
    controller1_config.vm.network "private_network", ip: "192.168.236.11"
    # eth2
    controller1_config.vm.network "private_network", ip: "192.168.240.11"
 
    controller1_config.vm.provider "vmware_fusion" do |v|
        v.vmx["memsize"= "2048"
        v.vmx["numvcpus"= "2"
    end
 
    controller1_config.vm.provider "virtualbox" do |v|
        v.customize ["modifyvm", :id"--memory""2048"]
        v.customize ["modifyvm", :id"--cpus""2"]
    end
  end
  # End controller1
 
  # Begin compute1
  config.vm.define "compute1" do |compute1_config|
    compute1_config.vm.hostname = "compute1"
 
    compute1_config.vm.provision "shell", inline: $commonscript
 
    # eth1
    compute1_config.vm.network "private_network", ip: "192.168.236.12"
    # eth2
    compute1_config.vm.network "private_network", ip: "192.168.240.12"
 
    compute1_config.vm.provider "vmware_fusion" do |v|
        v.vmx["memsize"= "2048"
        v.vmx["numvcpus"= "2"
    end
 
    compute1_config.vm.provider "virtualbox" do |v|
        v.customize ["modifyvm", :id"--memory""2048"]
        v.customize ["modifyvm", :id"--cpus""2"]
    end
  end
  # End compute1
 
  # Begin chef
  config.vm.define "chef" do |chef_config|
    chef_config.vm.hostname = "chef"
 
    chef_config.vm.provision "shell", inline: $chefscript
 
    # eth1
    chef_config.vm.network "private_network", ip: "192.168.236.10"
 
    chef_config.vm.provider "vmware_fusion" do |v|
        v.vmx["memsize"= "1024"
        v.vmx["numvcpus"= "1"
    end
 
    chef_config.vm.provider "virtualbox" do |v|
        v.customize ["modifyvm", :id"--memory""1024"]
        v.customize ["modifyvm", :id"--cpus""1"]
    end
  end
  # End chef
end

openstack一键安装(含安装包、自制工具)支持centos6.5最小化安装 本资源分为3部分下载: 【1】openstack一键安装(1) 【2】openstack一键安装(2) 【3】openstack一键安装(3) 注意:下载完整后,请放在同一目录下解压 ==================================================== | 安装说明 | ==================================================== 注意:以下路径不能随意更改,一定要按照以下顺序进行安装 1.把openstack-cloud文件夹用SSHSecureShellClient工具上传到服务器的/usr目录下并且设置权限: chmod 777 -R /usr/openstack-cloud/ 基本配置: (1)配好主机ip重启网络 (2)更改/usr/openstack-cloud/目录下的五个的文件参数,文件分别有: =============================================================== | glance.sh httpd.conf keystone.sh nova.conf nova-user.sh | =============================================================== 将所有有关IP:192.168.1.2全部替换成服务器的IP 2.一键yum(会把原来自带yum备份到/etc/yum.repos.d/bak下): ./usr/openstack-cloud/yum.sh 3.一键安装openstack: ./usr/openstack-cloud/install-openstack.sh _________________________________________________ |可选工具 | |===============================================| |一键卸载openstack | | ./usr/openstack-cloud/install-openstack.sh | |_______________________________________________| 4.一键配置: ./usr/openstack-cloud/config.sh 5.一键创建和连接数据库 ./usr/openstack-cloud/db-connection.sh 注意:在创建数据库的过程中需要输入数据库的密码,如果没有设置数据库密码则为空,直接回车即可继续! _________________________________________________ |可选工具 | |===============================================| |一键重启服务 | | ./usr/openstack-cloud/service-restart.sh | |_______________________________________________| |一键停止服务 | |./usr/openstack-cloud/service-stop.sh | |_______________________________________________| 6.http://服务器ip/dashboard 7.最后上传镜像,运行实例——(管理节点)完毕 *如果需要手动配置和安装请参考(CentOS6.5+OpenStack+kvm云平台部署)文献。 ========服务先到这里,感谢您的使用,技术问题请联系!============ | 联系方式:QQ:1098978739 邮箱1098978739@qq.com | | QQ认证请输入:openstack+姓名 | ================开发者:小马 版权所有2014年5月21日 =============
openstack一键安装(含安装包、自制工具)支持centos6.5最小化安装 本资源分为3部分下载: 【1】openstack一键安装(1) 【2】openstack一键安装(2) 【3】openstack一键安装(3) 注意:下载完整后,请放在同一目录下解压 ==================================================== | 安装说明 | ==================================================== 注意:以下路径不能随意更改,一定要按照以下顺序进行安装 1.把openstack-cloud文件夹用SSHSecureShellClient工具上传到服务器的/usr目录下并且设置权限: chmod 777 -R /usr/openstack-cloud/ 基本配置: (1)配好主机ip重启网络 (2)更改/usr/openstack-cloud/目录下的五个的文件参数,文件分别有: =============================================================== | glance.sh httpd.conf keystone.sh nova.conf nova-user.sh | =============================================================== 将所有有关IP:192.168.1.2全部替换成服务器的IP 2.一键yum(会把原来自带yum备份到/etc/yum.repos.d/bak下): ./usr/openstack-cloud/yum.sh 3.一键安装openstack: ./usr/openstack-cloud/install-openstack.sh _________________________________________________ |可选工具 | |===============================================| |一键卸载openstack | | ./usr/openstack-cloud/install-openstack.sh | |_______________________________________________| 4.一键配置: ./usr/openstack-cloud/config.sh 5.一键创建和连接数据库 ./usr/openstack-cloud/db-connection.sh 注意:在创建数据库的过程中需要输入数据库的密码,如果没有设置数据库密码则为空,直接回车即可继续! _________________________________________________ |可选工具 | |===============================================| |一键重启服务 | | ./usr/openstack-cloud/service-restart.sh | |_______________________________________________| |一键停止服务 | |./usr/openstack-cloud/service-stop.sh | |_______________________________________________| 6.http://服务器ip/dashboard 7.最后上传镜像,运行实例——(管理节点)完毕 *如果需要手动配置和安装请参考(CentOS6.5+OpenStack+kvm云平台部署)文献。 ========服务先到这里,感谢您的使用,技术问题请联系!============ | 联系方式:QQ:1098978739 邮箱1098978739@qq.com | | QQ认证请输入:openstack+姓名 | ================开发者:小马 版权所有2014年5月21日 =============
openstack一键安装(含安装包、自制工具)支持centos6.5最小化安装 本资源分为3部分下载: (1.openstack一键安装1 (2.openstack一键安装2 (3.openstack一键安装3 注意:下载完整后,请放在同一目录下解压 ==================================================== | 安装说明 | ==================================================== 注意:以下路径不能随意更改,一定要按照以下顺序进行安装 1.把openstack-cloud文件夹用SSHSecureShellClient工具上传到服务器 的/usr目录下并且设置权限: chmod 777 -R /usr/openstack-cloud/ 基本配置: (1)配好主机ip重启网络 (2)更改/usr/openstack-cloud/目录下的五个的文件参数,文件分别有: =============================================================== | glance.sh httpd.conf keystone.sh nova.conf nova-user.sh | =============================================================== 将所有有关IP:192.168.1.2全部替换成服务器的IP 2.一键yum(会把原来自带yum备份到/etc/yum.repos.d/bak下): ./usr/openstack-cloud/yum.sh 3.一键安装openstack: ./usr/openstack-cloud/install-openstack.sh _________________________________________________ |可选工具 | |===============================================| |一键卸载openstack | | ./usr/openstack-cloud/install-openstack.sh | |_______________________________________________| 4.一键配置: ./usr/openstack-cloud/config.sh 5.一键创建和连接数据库 ./usr/openstack-cloud/db-connection.sh 注意:在创建数据库的过程中需要输入数据库的密码,如果没有设置数据库密 码则为空,直接回车即可继续! _________________________________________________ |可选工具 | |===============================================| |一键重启服务 | | ./usr/openstack-cloud/service-restart.sh | |_______________________________________________| |一键停止服务 | |./usr/openstack-cloud/service-stop.sh | |_______________________________________________| 6.http://服务器ip/dashboard 7.最后上传镜像,运行实例——(管理节点)完毕 *如果需要手动配置和安装请参考(CentOS6.5+OpenStack+kvm云平台部署)文 献。 ========服务先到这里,感谢您的使用,技术问题请联系!============ | 联系方式:QQ:1098978739 邮箱1098978739@qq.com | | QQ认证请输入:openstack+姓名 | ================开发者:小马 版权所有2014年5月21日 =============
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值