You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by al...@apache.org on 2012/07/31 22:40:02 UTC
[32/50] [abbrv] git commit: Additional puppet configuration updates
for devcloud.
Additional puppet configuration updates for devcloud.
Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/2b1feadb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/2b1feadb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/2b1feadb
Branch: refs/heads/vpc
Commit: 2b1feadb200c2eadf43c76a3531d2b0a9728bf96
Parents: 372568c
Author: chip.childers@gmail.com <ch...@gmail.com>
Authored: Mon Jul 30 15:30:25 2012 -0400
Committer: chip.childers@gmail.com <ch...@gmail.com>
Committed: Mon Jul 30 15:30:25 2012 -0400
----------------------------------------------------------------------
tools/devcloud/devcloudbox/Vagrantfile | 16 +-
.../puppet-devcloud/files/configebtables.sh | 21 ++
.../puppet-devcloud/files/configlocalstorage.sh | 25 ++
.../devcloudbox/puppet-devcloud/files/configvnc.sh | 25 ++
.../puppet-devcloud/files/updatecode.sh | 27 ++
.../devcloudbox/puppet-devcloud/manifests/init.pp | 226 +++++++++++++--
6 files changed, 303 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2b1feadb/tools/devcloud/devcloudbox/Vagrantfile
----------------------------------------------------------------------
diff --git a/tools/devcloud/devcloudbox/Vagrantfile b/tools/devcloud/devcloudbox/Vagrantfile
index 6138926..121a9f5 100644
--- a/tools/devcloud/devcloudbox/Vagrantfile
+++ b/tools/devcloud/devcloudbox/Vagrantfile
@@ -27,7 +27,7 @@ Vagrant::Config.run do |config|
# Uncomment this line to enable the console for debugging the
# build process.
- config.vm.boot_mode = :gui
+ # config.vm.boot_mode = :gui
# Setup port forwarding
config.vm.forward_port 22, 2222
@@ -40,12 +40,12 @@ Vagrant::Config.run do |config|
# Ensure the VM has the right virtual resources
#config.vm.
-# config.vm.provision :puppet do |puppet|
-# puppet.manifests_path = "puppet-devcloud"
-# puppet.manifest_file = "init.pp"
-# puppet.with_ssh = true
-# puppet.pp_path = "/etc/puppet"
-# puppet.module_path = "puppet-devcloud"
-# end
+ config.vm.provision :puppet do |puppet|
+ puppet.manifests_path = "puppet-devcloud"
+ puppet.manifest_file = "init.pp"
+ puppet.with_ssh = true
+ puppet.pp_path = "/etc/puppet"
+ puppet.module_path = "puppet-devcloud"
+ end
end
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2b1feadb/tools/devcloud/devcloudbox/puppet-devcloud/files/configebtables.sh
----------------------------------------------------------------------
diff --git a/tools/devcloud/devcloudbox/puppet-devcloud/files/configebtables.sh b/tools/devcloud/devcloudbox/puppet-devcloud/files/configebtables.sh
new file mode 100644
index 0000000..741884e
--- /dev/null
+++ b/tools/devcloud/devcloudbox/puppet-devcloud/files/configebtables.sh
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+mac=`/sbin/ifconfig xenbr0 |/bin/grep HWaddr |/usr/bin/awk '{print $5}'`
+/sbin/ebtables -I FORWARD -d ! $mac -i eth0 -p IPV4 --ip-prot udp --ip-dport 67:68 -j DROP
+exit 0
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2b1feadb/tools/devcloud/devcloudbox/puppet-devcloud/files/configlocalstorage.sh
----------------------------------------------------------------------
diff --git a/tools/devcloud/devcloudbox/puppet-devcloud/files/configlocalstorage.sh b/tools/devcloud/devcloudbox/puppet-devcloud/files/configlocalstorage.sh
new file mode 100644
index 0000000..ab47d2d
--- /dev/null
+++ b/tools/devcloud/devcloudbox/puppet-devcloud/files/configlocalstorage.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+/usr/bin/xe sr-list | /bin/grep local-storage
+rc=$?
+if [[ $rc != 0 ]] ; then
+ hostuuid=`xe host-list |grep uuid|awk '{print $5}'`;
+ xe sr-create host-uuid=$hostuuid name-label=local-storage shared=false type=file device-config:location=/opt/storage/primary
+fi
+exit 0
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2b1feadb/tools/devcloud/devcloudbox/puppet-devcloud/files/configvnc.sh
----------------------------------------------------------------------
diff --git a/tools/devcloud/devcloudbox/puppet-devcloud/files/configvnc.sh b/tools/devcloud/devcloudbox/puppet-devcloud/files/configvnc.sh
new file mode 100644
index 0000000..b13a7a3
--- /dev/null
+++ b/tools/devcloud/devcloudbox/puppet-devcloud/files/configvnc.sh
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+grep 0.0.0.0 /usr/lib/xcp/lib/vncterm-wrapper
+rc=$?
+if [[ $rc != 0 ]] ; then
+ sed -i 's/VNCTERM_LISTEN=.\+/VNCTERM_LISTEN="-v 0.0.0.0:1"/' /usr/lib/xcp/lib/vncterm-wrapper
+fi
+exit 0
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2b1feadb/tools/devcloud/devcloudbox/puppet-devcloud/files/updatecode.sh
----------------------------------------------------------------------
diff --git a/tools/devcloud/devcloudbox/puppet-devcloud/files/updatecode.sh b/tools/devcloud/devcloudbox/puppet-devcloud/files/updatecode.sh
new file mode 100644
index 0000000..15e191a
--- /dev/null
+++ b/tools/devcloud/devcloudbox/puppet-devcloud/files/updatecode.sh
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements. See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership. The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied. See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+cd /opt/cloudstack
+git clone https://git-wip-us.apache.org/repos/asf/incubator-cloudstack.git
+rc=$?
+if [[ $rc != 0 ]] ; then
+ cd /opt/cloudstack/incubator-cloudstack
+ git pull origin master
+fi
+exit 0
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/2b1feadb/tools/devcloud/devcloudbox/puppet-devcloud/manifests/init.pp
----------------------------------------------------------------------
diff --git a/tools/devcloud/devcloudbox/puppet-devcloud/manifests/init.pp b/tools/devcloud/devcloudbox/puppet-devcloud/manifests/init.pp
index 720927d..96f931d 100644
--- a/tools/devcloud/devcloudbox/puppet-devcloud/manifests/init.pp
+++ b/tools/devcloud/devcloudbox/puppet-devcloud/manifests/init.pp
@@ -40,22 +40,62 @@ class puppet-devcloud {
owner => '0',
}
- exec { "mac=`ifconfig xenbr0 |grep HWaddr |awk '{print $5}'`; /sbin/ebtables -I FORWARD -d ! $mac -i eth0 -p IPV4 --ip-prot udp --ip-dport 67:68 -j DROP":
+ file { '/tmp/configebtables.sh':
+ ensure => 'file',
+ source => 'puppet:///modules/puppet-devcloud/configebtables.sh',
+ group => '0',
+ mode => '777',
+ owner => '0',
+ }
+
+ exec { "/tmp/configebtables.sh":
+ require => [
+ File['/tmp/configebtables.sh'],
+ Service['ebtables']
+ ],
subscribe => Package['ebtables'],
refreshonly => true,
cwd => '/',
+ path => '/sbin/:/usr/bin/:/bin',
}
package { 'nfs-server':
ensure => latest,
}
+ file { '/opt/storage':
+ ensure => 'directory',
+ group => '0',
+ mode => '755',
+ owner => '0',
+ }
+
file { '/opt/storage/secondary':
ensure => 'directory',
group => '0',
mode => '755',
owner => '0',
- type => 'directory',
+ }
+
+ file { '/opt/storage/secondary/template':
+ ensure => 'directory',
+ group => '0',
+ mode => '755',
+ owner => '0',
+ }
+
+ file { '/opt/storage/secondary/template/tmpl':
+ ensure => 'directory',
+ group => '0',
+ mode => '755',
+ owner => '0',
+ }
+
+ file { '/opt/storage/secondary/template/tmpl/1':
+ ensure => 'directory',
+ group => '0',
+ mode => '755',
+ owner => '0',
}
file { '/opt/storage/secondary/template/tmpl/1/1':
@@ -63,7 +103,6 @@ class puppet-devcloud {
group => '0',
mode => '755',
owner => '0',
- type => 'directory',
}
file { '/opt/storage/secondary/template/tmpl/1/5':
@@ -71,7 +110,6 @@ class puppet-devcloud {
group => '0',
mode => '755',
owner => '0',
- type => 'directory',
}
file { '/etc/exports':
@@ -84,37 +122,40 @@ class puppet-devcloud {
}
service { 'nfs-kernel-server':
- requires => Package['nfs-server'],
+ require => Package['nfs-server'],
ensure => 'running',
enable => 'true',
}
- exec { "wget-default-template-1-vhd":
- command => "/usr/bin/wget --output-document=/opt/storage/secondary/template/tmpl/1/1/dc68eb4c-228c-4a78-84fa-b80ae178fbfd.vhd http://download.cloud.com/templates/devcloud/defaulttemplates/1/dc68eb4c-228c-4a78-84fa-b80ae178fbfd.vhd",
- creates => "/opt/storage/secondary/template/tmpl/1/1/dc68eb4c-228c-4a78-84fa-b80ae178fbfd.vhd",
- requires => File['/opt/storage/secondary/template/tmpl/1/1'],
- cwd => '/',
+ exec { '/usr/bin/wget http://download.cloud.com/templates/devcloud/defaulttemplates/1/dc68eb4c-228c-4a78-84fa-b80ae178fbfd.vhd -P /opt/storage/secondary/template/tmpl/1/1/':
+ creates => '/opt/storage/secondary/template/tmpl/1/1/dc68eb4c-228c-4a78-84fa-b80ae178fbfd.vhd',
+ require => File['/opt/storage/secondary/template/tmpl/1/1/'],
+ timeout => '0',
}
- exec { "wget-default-template-1-props":
- command => "/usr/bin/wget --output-document=/opt/storage/secondary/template/tmpl/1/1/template.properties http://download.cloud.com/templates/devcloud/defaulttemplates/1/template.properties",
- creates => "/opt/storage/secondary/template/tmpl/1/1/template.properties",
- requires => File['/opt/storage/secondary/template/tmpl/1/1'],
- cwd => '/',
+ exec { '/usr/bin/wget http://download.cloud.com/templates/devcloud/defaulttemplates/1/template.properties -P /opt/storage/secondary/template/tmpl/1/1/':
+ creates => '/opt/storage/secondary/template/tmpl/1/1/template.properties',
+ require => File['/opt/storage/secondary/template/tmpl/1/1/'],
}
- exec { "wget-default-template-5-vhd":
- command => "/usr/bin/wget --output-document=/opt/storage/secondary/template/tmpl/1/5/ce5b212e-215a-3461-94fb-814a635b2215.vhd http://download.cloud.com/templates/devcloud/defaulttemplates/5/ce5b212e-215a-3461-94fb-814a635b2215.vhd",
- creates => "/opt/storage/secondary/template/tmpl/1/5/ce5b212e-215a-3461-94fb-814a635b2215.vhd",
- requires => File['/opt/storage/secondary/template/tmpl/1/5'],
- cwd => '/',
+ exec { '/usr/bin/wget http://download.cloud.com/templates/devcloud/defaulttemplates/5/ce5b212e-215a-3461-94fb-814a635b2215.vhd -P /opt/storage/secondary/template/tmpl/1/5/':
+ creates => '/opt/storage/secondary/template/tmpl/1/5/ce5b212e-215a-3461-94fb-814a635b2215.vhd',
+ require => File['/opt/storage/secondary/template/tmpl/1/5/'],
+ timeout => '0',
}
- exec { "wget-default-template-5-props":
- command => "/usr/bin/wget --output-document=/opt/storage/secondary/template/tmpl/1/5/template.properties http://download.cloud.com/templates/devcloud/defaulttemplates/5/template.properties",
- creates => "/opt/storage/secondary/template/tmpl/1/5/template.properties",
- requires => File['/opt/storage/secondary/template/tmpl/1/5'],
- cwd => '/',
+ exec { '/usr/bin/wget http://download.cloud.com/templates/devcloud/defaulttemplates/5/template.properties -P /opt/storage/secondary/template/tmpl/1/5/':
+ creates => '/opt/storage/secondary/template/tmpl/1/5/template.properties',
+ require => File['/opt/storage/secondary/template/tmpl/1/5/'],
+ }
+
+ exec { 'getecho':
+ command => '/usr/bin/wget http://download.cloud.com/templates/devcloud/echo -P /usr/lib/xcp/plugins/',
+ creates => '/usr/lib/xcp/plugins/echo',
+ }
+
+ exec { '/bin/chmod -R 777 /usr/lib/xcp':
+ require => Exec['getecho'],
}
file { '/opt/storage/primary':
@@ -122,15 +163,142 @@ class puppet-devcloud {
group => '0',
mode => '755',
owner => '0',
- type => 'directory',
+ }
+
+ file { '/tmp/configlocalstorage.sh':
+ ensure => 'file',
+ group => '0',
+ mode => '777',
+ owner => '0',
+ source => 'puppet:///modules/puppet-devcloud/configlocalstorage.sh',
}
exec { "configlocal":
- requires => File['/opt/storage/primary'],
- unless => 'xe sr-list | grep local-storage',
- command => "hostuuid=`xe host-list |grep uuid|awk '{print $5}'`; xe sr-create host-uuid=$hostuuid name-label=local-storage shared=false type=file device-config:location=/opt/storage/primary",
+ require => [
+ File['/opt/storage/primary'],
+ File['/tmp/configlocalstorage.sh']
+ ],
+ command => '/tmp/configlocalstorage.sh',
cwd => '/',
}
+ file { '/tmp/configvnc.sh':
+ ensure => 'file',
+ source => 'puppet:///modules/puppet-devcloud/configvnc.sh',
+ mode => '777',
+ group => '0',
+ owner => '0',
+ }
+
+ exec { "configvnc":
+ require => File['/tmp/configvnc.sh'],
+ command => '/tmp/configvnc.sh',
+ cwd => '/',
+ }
+
+ package { 'git':
+ ensure => latest,
+ }
+
+ package { 'unzip':
+ ensure => latest,
+ }
+
+ package { 'mysql-server':
+ ensure => latest,
+ }
+
+ package { 'ant':
+ ensure => latest,
+ }
+
+ package { 'openjdk-6-jdk':
+ ensure => latest,
+ }
+
+ file { '/opt/cloudstack':
+ ensure => 'directory',
+ group => '0',
+ mode => '755',
+ owner => '0',
+ }
+
+ file { '/tmp/updatecode.sh':
+ ensure => 'file',
+ source => 'puppet:///modules/puppet-devcloud/updatecode.sh',
+ mode => '777',
+ owner => '0',
+ group => '0',
+ }
+
+ exec { 'get_code':
+ require => [
+ Package['git'],
+ File['/opt/cloudstack/'],
+ File['/tmp/updatecode.sh']
+ ],
+ command => '/tmp/updatecode.sh',
+ cwd => '/opt/cloudstack/',
+ timeout => '0',
+ }
+
+ file { '/opt/cloudstack/incubator-cloudstack/target':
+ ensure => 'directory',
+ group => '0',
+ mode => '755',
+ owner => '0',
+ require => Exec['get_code'],
+ }
+
+ file { '/opt/cloudstack/incubator-cloudstack/dist':
+ ensure => 'directory',
+ group => '0',
+ mode => '755',
+ owner => '0',
+ require => Exec['get_code'],
+ }
+
+ exec { 'downloadtomcat':
+ command => '/usr/bin/wget http://archive.apache.org/dist/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.zip -P /opt/cloudstack/',
+ creates => '/opt/cloudstack/apache-tomcat-6.0.32.zip',
+ require => File['/opt/cloudstack/'],
+ timeout => '0',
+ }
+
+ exec { "unziptomcat":
+ require => [
+ Package['unzip'],
+ Exec["downloadtomcat"]
+ ],
+ creates => "/opt/cloudstack/apache-tomcat-6.0.32",
+ command => "/usr/bin/unzip apache-tomcat-6.0.32.zip",
+ cwd => "/opt/cloudstack",
+ timeout => '0',
+ }
+
+ exec { "catalina_home":
+ require => Exec["unziptomcat"],
+ unless => '/bin/grep CATALINA_HOME /root/.bashrc',
+ command => '/bin/echo "export CATALINA_HOME=/opt/cloudstack/apache-tomcat-6.0.32" >> /root/.bashrc',
+ cwd => '/',
+ }
+
+ exec { "build_cloudstack":
+ require => [
+ Package['ant'],
+ Exec["catalina_home"],
+ File['/opt/cloudstack/incubator-cloudstack/dist'],
+ File['/opt/cloudstack/incubator-cloudstack/target']
+ ],
+ command => "/usr/bin/ant clean-all build-all deploy-server deploydb",
+ cwd => "/opt/cloudstack/incubator-cloudstack/",
+ timeout => '0',
+ }
+
+# exec { "start_cloudstack":
+# require => Exec["build_cloudstack"],
+# command => "/usr/bin/ant debug",
+# cwd => "/opt/cloudstack/incubator-cloudstack",
+# }
}