From 355df8affb0624df0af17f4f84dae86830a46e58 Mon Sep 17 00:00:00 2001 From: James Martin Date: Fri, 7 Dec 2012 11:49:49 -0500 Subject: [PATCH] made Vagrantfile headless again. puppet manifests now (mostly) pass puppet-lint tests. Signed-off-by: Rohit Yadav --- tools/devcloud/Vagrantfile | 4 +- .../modules/devcloudinitial/manifests/init.pp | 130 ++++++----- .../puppet/modules/devcloud/manifests/init.pp | 216 +++++++++--------- .../modules/devcloud/manifests/params.pp | 70 +++--- 4 files changed, 209 insertions(+), 211 deletions(-) diff --git a/tools/devcloud/Vagrantfile b/tools/devcloud/Vagrantfile index 7820d81d555..3f0d9045bb6 100644 --- a/tools/devcloud/Vagrantfile +++ b/tools/devcloud/Vagrantfile @@ -27,9 +27,9 @@ Vagrant::Config.run do |config| config.vm.guest = :xen config.ssh.username = "devcloud" config.vm.host_name = "devcloud.local" - # Uncomment this line to enable the console for debugging the + # 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, 7222 diff --git a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp b/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp index 6e5924a38ab..8ceb39c8d6a 100644 --- a/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp +++ b/tools/devcloud/deps/boxes/xenbox-build/puppet/modules/devcloudinitial/manifests/init.pp @@ -27,87 +27,85 @@ else { "linux-headers-${::kernelrelease}": ensure => latest; "xen-hypervisor-4.1-${debarch}": - ensure => latest, + ensure => latest, require => Package["linux-headers-${::kernelrelease}"]; - "xcp-xapi": - require => Package["xen-hypervisor-4.1-${debarch}"], + 'xcp-xapi': + ensure => latest, + require => Package["xen-hypervisor-4.1-${debarch}"]; + 'iptables': ensure => latest; - "iptables": - ensure => latest; - "ebtables": + 'ebtables': ensure => latest; } file { - '/etc/iptables.save': - require => Package['iptables'], - ensure => 'file', - source => 'puppet:///modules/devcloudinitial/iptables.save', - group => '0', - mode => '644', - owner => '0'; - '/etc/xcp/network.conf': - require => Package['xcp-xapi'], - ensure => 'file', - source => 'puppet:///modules/devcloudinitial/network.conf', - group => '0', - mode => '644', - owner => '0'; - '/etc/init.d/xend': - require => Package['xcp-xapi'], - ensure => 'file', - source => 'puppet:///modules/devcloudinitial/xend', - group => '0', - owner => '0', - mode => '755'; - '/etc/default/grub': - require => Package["xen-hypervisor-4.1-${debarch}"], - ensure => 'file', - source => 'puppet:///modules/devcloudinitial/grub', - group => '0', - mode => '644', - owner => '0'; - '/usr/share/qemu': - require => Package["xen-hypervisor-4.1-${debarch}"], - ensure => 'directory', - group => '0', - mode => '755', - owner => '0'; - '/usr/share/qemu/keymaps': - require => File['/usr/share/qemu'], - ensure => 'link', - group => '0', - mode => '777', - owner => '0', - target => '/usr/share/qemu-linaro/keymaps'; - '/etc/network/interfaces': - ensure => 'file', - source => 'puppet:///modules/devcloudinitial/interfaces', - group => '0', - mode => '644', - owner => '0'; - '/etc/default/xen': - require => Package["xen-hypervisor-4.1-${debarch}"], - ensure => 'file', - source => 'puppet:///modules/devcloudinitial/xen-defaults', - group => '0', - mode => '644', - owner => '0'; - + '/etc/iptables.save': + ensure => 'file', + require => Package['iptables'], + source => 'puppet:///modules/devcloudinitial/iptables.save', + group => '0', + mode => '0644', + owner => '0'; + '/etc/xcp/network.conf': + ensure => 'file', + require => Package['xcp-xapi'], + source => 'puppet:///modules/devcloudinitial/network.conf', + group => '0', + mode => '0644', + owner => '0'; + '/etc/init.d/xend': + ensure => 'file', + require => Package['xcp-xapi'], + source => 'puppet:///modules/devcloudinitial/xend', + group => '0', + owner => '0', + mode => '0755'; + '/etc/default/grub': + ensure => 'file', + require => Package["xen-hypervisor-4.1-${debarch}"], + source => 'puppet:///modules/devcloudinitial/grub', + group => '0', + mode => '0644', + owner => '0'; + '/usr/share/qemu': + ensure => 'directory', + require => Package["xen-hypervisor-4.1-${debarch}"], + group => '0', + mode => '0755', + owner => '0'; + '/usr/share/qemu/keymaps': + ensure => 'link', + require => File['/usr/share/qemu'], + group => '0', + mode => '0777', + owner => '0', + target => '/usr/share/qemu-linaro/keymaps'; + '/etc/network/interfaces': + ensure => 'file', + source => 'puppet:///modules/devcloudinitial/interfaces', + group => '0', + mode => '0644', + owner => '0'; + '/etc/default/xen': + ensure => 'file', + require => Package["xen-hypervisor-4.1-${debarch}"], + source => 'puppet:///modules/devcloudinitial/xen-defaults', + group => '0', + mode => '0644', + owner => '0'; } service { 'xendomains': - require => Package['xcp-xapi'], ensure => 'stopped', + require => Package['xcp-xapi'], enable => false; } - - exec { "/usr/sbin/update-grub": - subscribe => File['/etc/default/grub'], + exec { '/usr/sbin/update-grub': + subscribe => File['/etc/default/grub'], refreshonly => true, - cwd => '/', + cwd => '/', } } diff --git a/tools/devcloud/puppet/modules/devcloud/manifests/init.pp b/tools/devcloud/puppet/modules/devcloud/manifests/init.pp index 0f146c56c5b..bbcd7b2b7d6 100644 --- a/tools/devcloud/puppet/modules/devcloud/manifests/init.pp +++ b/tools/devcloud/puppet/modules/devcloud/manifests/init.pp @@ -19,50 +19,49 @@ class devcloud ( - $cs_dir = $devcloud::params::cs_dir , - $devcloud_path = $devcloud::params::devcloud_path, - $gitrepo = $devcloud::params::gitrepo, - $storage_dir = $devcloud::params::storage_dir, - $tomcat_version = $devcloud::params::tomcat_version, - $tomcat_url = $devcloud::params::tomcat_url, - $tomcat_home = $devcloud::params::tomcat_home, - $maven_version = $devcloud::params::maven_version, - $maven_url = $devcloud::params::maven_url, - $maven_home = $devcloud::params::maven_home, - $downloads = $devcloud::params::downloads, - $md5sum_local = $devcloud::params::md5sum_local, - $md5sum_remote = $devcloud::params::md5sum_remote, - $hostuuid = $::xen_hostuuid, + $cs_dir = $devcloud::params::cs_dir , + $devcloud_path = $devcloud::params::devcloud_path, + $gitrepo = $devcloud::params::gitrepo, + $storage_dir = $devcloud::params::storage_dir, + $tomcat_version = $devcloud::params::tomcat_version, + $tomcat_url = $devcloud::params::tomcat_url, + $tomcat_home = $devcloud::params::tomcat_home, + $maven_version = $devcloud::params::maven_version, + $maven_url = $devcloud::params::maven_url, + $maven_home = $devcloud::params::maven_home, + $downloads = $devcloud::params::downloads, + $md5sum_local = $devcloud::params::md5sum_local, + $md5sum_remote = $devcloud::params::md5sum_remote, + $hostuuid = $::xen_hostuuid, $bridge_device_mac = $::macaddress_xenbr0, $build_cloudstack = $devcloud::params::build_cloudstack + ) inherits devcloud::params { - - Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] } + Exec { path => [ '/bin/', '/sbin/' , '/usr/bin/', '/usr/sbin/' ] } service { 'ebtables': ensure => 'running', enable => true; + 'nfs-kernel-server': - require => Package['nfs-server'], - ensure => 'running', - enable => true, - subscribe => File["/etc/exports"]; + ensure => 'running', + require => Package['nfs-server'], + enable => true, + subscribe => File['/etc/exports']; } - package { [ - "ant", - "git", - "mkisofs", - "mysql-server", - "nfs-server", - "openjdk-6-jdk", - "unzip" - ]: - ensure => latest, - + package + { [ 'ant', + 'git', + 'mkisofs', + 'mysql-server', + 'nfs-server', + 'openjdk-6-jdk', + 'unzip' ]: + ensure => latest, } exec { @@ -83,17 +82,17 @@ class devcloud ( 'get_code': command => "git clone ${gitrepo}", cwd => $cs_dir, - require => [ File["${cs_dir}"]], + require => File[$cs_dir], timeout => '7200', - creates => "$cs_dir/incubator-cloudstack"; + creates => "${cs_dir}/incubator-cloudstack"; 'update_code': - command => "git pull origin master", + command => 'git pull origin master', cwd => "${cs_dir}/incubator-cloudstack", timeout => '7200', - require => [ Exec["get_code"]]; + require => [ Exec['get_code']]; - "configlocal": + 'configlocal': command => "xe sr-create host-uuid=${hostuuid} name-label=local-storage shared=false type=file device-config:location=${storage_dir}/primary", cwd => '/', unless => '/usr/bin/xe sr-list | /bin/egrep \'local-storage|Cloud Stack Local EXT Storage Pool\'', @@ -101,9 +100,9 @@ class devcloud ( File["${storage_dir}/primary"], ]; - "configvnc": + 'configvnc': command => 'sed -i \'s/VNCTERM_LISTEN=.\+/VNCTERM_LISTEN="-v 0.0.0.0:1"/\' /usr/lib/xcp/lib/vncterm-wrapper', - onlyif => '/bin/grep "0.0.0.0:1" /usr/lib/xcp/lib/vncterm-wrapper'; + onlyif => '/bin/grep "0.0.0.0:1" /usr/lib/xcp/lib/vncterm-wrapper'; 'downloadtomcat': command => "/usr/bin/wget ${tomcat_url} -P ${cs_dir}/", @@ -111,64 +110,63 @@ class devcloud ( require => File[$cs_dir], timeout => '0'; - "unziptomcat": + 'unziptomcat': require => [ Package['unzip'], - Exec["downloadtomcat"] + Exec['downloadtomcat'] ], - creates => "${tomcat_home}", + creates => $tomcat_home, command => "/usr/bin/unzip apache-tomcat-${tomcat_version}.zip", - cwd => "${cs_dir}", + cwd => $cs_dir, timeout => '0'; - "downloadmaven": + 'downloadmaven': command => "/usr/bin/wget ${maven_url} -P ${cs_dir}/", creates => "${cs_dir}/apache-maven-${maven_version}-bin.tar.gz", require => Exec['unziptomcat'], timeout => '0'; - - "install_maven": - require => Exec["downloadmaven"], - creates => "${maven_home}", + 'install_maven': + require => Exec['downloadmaven'], + creates => $maven_home, command => "/bin/tar xzvf ${cs_dir}/apache-maven-${maven_version}-bin.tar.gz", - cwd => "${cs_dir}", + cwd => $cs_dir, timeout => '0'; 'tomcatperms': command => "chmod +x ${tomcat_home}/bin/*.sh", - require => Exec["unziptomcat"],; + require => Exec['unziptomcat']; - "catalina_home": - require => Exec["unziptomcat"], + 'catalina_home': + require => Exec['unziptomcat'], unless => '/bin/grep CATALINA_HOME /root/.bashrc', command => "/bin/echo \"export CATALINA_HOME=${tomcat_home}\" >> /root/.bashrc", cwd => '/'; - "configebtables": - require => [ - Service['ebtables'] - ], - command => "/sbin/ebtables -I FORWARD -d ! $bridge_device_mac -i eth1 -p IPV4 --ip-prot udp --ip-dport 67:68 -j DROP", - unless => "/sbin/ebtables -L | grep \"-I FORWARD -d ! $bridge_device_mac -i eth1 -p IPV4 --ip-prot udp --ip-dport 67:68 -j DROP\"", + + 'configebtables': + require => Service['ebtables'], + command => "/sbin/ebtables -I FORWARD -d ! ${bridge_device_mac} -i eth1 -p IPV4 --ip-prot udp --ip-dport 67:68 -j DROP", + unless => "/sbin/ebtables -L | grep \"-I FORWARD -d ! ${bridge_device_mac} -i eth1 -p IPV4 --ip-prot udp --ip-dport 67:68 -j DROP\"", refreshonly => true, - cwd => "/", - path => "/sbin/:/usr/bin/:/bin" + cwd => '/', + path => '/sbin/:/usr/bin/:/bin' } if $build_cloudstack { exec { - "build_cloudstack": - require => [ - Package["ant"], - Exec["install_maven"], - File["${cs_dir}/incubator-cloudstack/dist"], - File["${cs_dir}/incubator-cloudstack/target"], - Package['mkisofs'], - File["${cs_dir}/buildcloudstack.sh"]], - command => "${cs_dir}/buildcloudstack.sh", - cwd => "${cs_dir}", - timeout => '0'; + 'build_cloudstack': + require => [ + Package['ant','mkisofs'], + Exec['install_maven'], + File[ + "${cs_dir}/incubator-cloudstack/dist", + "${cs_dir}/incubator-cloudstack/target", + "${cs_dir}/buildcloudstack.sh"] + ], + command => "${cs_dir}/buildcloudstack.sh", + cwd => $cs_dir, + timeout => '0'; } } @@ -176,57 +174,59 @@ class devcloud ( file { [ $cs_dir, - "${storage_dir}", - "${storage_dir}/primary", - "${storage_dir}/secondary", - "${storage_dir}/secondary/template", - "${storage_dir}/secondary/template/tmpl", - "${storage_dir}/secondary/template/tmpl/1", - "${storage_dir}/secondary/template/tmpl/1/1", - "${storage_dir}/secondary/template/tmpl/1/5" ]: - ensure => "directory", - group => "0", - mode => "755", - owner => "0"; + $storage_dir, + "${storage_dir}/primary", + "${storage_dir}/secondary", + "${storage_dir}/secondary/template", + "${storage_dir}/secondary/template/tmpl", + "${storage_dir}/secondary/template/tmpl/1", + "${storage_dir}/secondary/template/tmpl/1/1", + "${storage_dir}/secondary/template/tmpl/1/5" ]: + ensure => 'directory', + group => '0', + mode => '0755', + owner => '0'; [ "${cs_dir}/incubator-cloudstack/dist", "${cs_dir}/incubator-cloudstack/target" ] : - ensure => "directory", - group => "0", - mode => "755", - owner => "0", - require => [ Exec["update_code"]]; + ensure => 'directory', + group => '0', + mode => '0755', + owner => '0', + require => [ Exec['update_code']]; - "${cs_dir}/buildcloudstack.sh": - ensure => 'file', - mode => '755', - owner => '0', - group => '0', - content => template("devcloud/builddevcloud.sh.erb"); + "${cs_dir}/buildcloudstack.sh": + ensure => 'file', + mode => '0755', + owner => '0', + group => '0', + content => template('devcloud/builddevcloud.sh.erb'); - "/root/.ssh" : - ensure => "directory", - group => "root", - mode => "700", - owner => "root"; + '/root/.ssh' : + ensure => 'directory', + group => 'root', + mode => '0700', + owner => 'root'; "${cs_dir}/startdevcloud.sh": ensure => 'file', source => 'puppet:///modules/devcloud/startdevcloud.sh', - mode => '755', + mode => '0755', owner => '0', group => '0'; - "/usr/local/bin/compare.sh": + + '/usr/local/bin/compare.sh': ensure => 'file', source => 'puppet:///modules/devcloud/compare.sh', - mode => '755', + mode => '0755', owner => 'root', group => 'root'; - "/etc/exports": - require => Package['nfs-server'], + + '/etc/exports': ensure => 'file', + require => Package['nfs-server'], source => 'puppet:///modules/devcloud/exports', - mode => '644', + mode => '0644', owner => '0', group => '0'; @@ -235,10 +235,10 @@ class devcloud ( devcloud::functions::httpdownload{ $downloads: - require => [ File["${storage_dir}/secondary/template/tmpl/1/1"], - File["${storage_dir}/secondary/template/tmpl/1/5"], - Exec["get_md5sums"] - ] + require => + [ File["${storage_dir}/secondary/template/tmpl/1/1"], + File["${storage_dir}/secondary/template/tmpl/1/5"], + Exec['get_md5sums'] ] } } diff --git a/tools/devcloud/puppet/modules/devcloud/manifests/params.pp b/tools/devcloud/puppet/modules/devcloud/manifests/params.pp index f267a93f97a..c6bd9f6fd48 100644 --- a/tools/devcloud/puppet/modules/devcloud/manifests/params.pp +++ b/tools/devcloud/puppet/modules/devcloud/manifests/params.pp @@ -13,52 +13,52 @@ class devcloud::params { - $cs_dir = "/opt/cloudstack" - $storage_dir = "/opt/storage" - $tomcat_version = "6.0.32" - $tomcat_url = "http://archive.apache.org/dist/tomcat/tomcat-6/v${tomcat_version}/bin/apache-tomcat-${tomcat_version}.zip" - $tomcat_home = "${cs_dir}/apache-tomcat-${tomcat_version}" - $maven_version = "3.0.4" - $maven_url = "http://apache.mirrors.pair.com/maven/maven-3/${maven_version}/binaries/apache-maven-${maven_version}-bin.tar.gz" - $maven_home = "${cs_dir}/apache-maven-${maven_version}" - $devcloud_path = "http://download.cloud.com/templates/devcloud" - $template_path = "${devcloud_path}/defaulttemplates" - $md5sum_remote = "${template_path}/md5sum.txt" - $md5sum_local = "${storage_dir}/secondary/template/tmpl/1/md5sum.txt" - $template_dir = "${storage_dir}/secondary/template/tmpl/1" - $gitrepo = "https://github.com/apache/incubator-cloudstack.git" - $build_cloudstack = true + $cs_dir = '/opt/cloudstack' + $storage_dir = '/opt/storage' + $tomcat_version = '6.0.32' + $tomcat_url = "http://archive.apache.org/dist/tomcat/tomcat-6/v${tomcat_version}/bin/apache-tomcat-${tomcat_version}.zip" + $tomcat_home = "${cs_dir}/apache-tomcat-${tomcat_version}" + $maven_version = '3.0.4' + $maven_url = "http://apache.mirrors.pair.com/maven/maven-3/${maven_version}/binaries/apache-maven-${maven_version}-bin.tar.gz" + $maven_home = "${cs_dir}/apache-maven-${maven_version}" + $devcloud_path = 'http://download.cloud.com/templates/devcloud' + $template_path = "${devcloud_path}/defaulttemplates" + $md5sum_remote = "${template_path}/md5sum.txt" + $md5sum_local = "${storage_dir}/secondary/template/tmpl/1/md5sum.txt" + $template_dir = "${storage_dir}/secondary/template/tmpl/1" + $gitrepo = 'https://github.com/apache/incubator-cloudstack.git' + $build_cloudstack = false $downloads = [ { - "basefile" => "template.properties", - "basedir" => "1", - "url" => "${template_path}", - "local_dir" => "$template_dir", - "working_dir" => "$template_dir" + 'basefile' => 'template.properties', + 'basedir' => '1', + 'url' => $template_path, + 'local_dir' => $template_dir, + 'working_dir' => $template_dir }, { - "basefile" => "template.properties", - "basedir" => "5", - "url" => "${template_path}", - "local_dir" => "$template_dir", - "working_dir" => "$template_dir" + 'basefile' => 'template.properties', + 'basedir' => '5', + 'url' => $template_path, + 'local_dir' => $template_dir, + 'working_dir' => $template_dir }, { - "basefile" => "dc68eb4c-228c-4a78-84fa-b80ae178fbfd.vhd", - "basedir" => "1", - "url" => "${template_path}", - "local_dir" => "$template_dir", - "working_dir" => "$template_dir" + 'basefile' => 'dc68eb4c-228c-4a78-84fa-b80ae178fbfd.vhd', + 'basedir' => '1', + 'url' => $template_path, + 'local_dir' => $template_dir, + 'working_dir' => $template_dir }, { - "basefile" => "ce5b212e-215a-3461-94fb-814a635b2215.vhd", - "basedir" => "5", - "url" => "${template_path}", - "local_dir" => "$template_dir", - "working_dir" => "$template_dir" + 'basefile' => 'ce5b212e-215a-3461-94fb-814a635b2215.vhd', + 'basedir' => '5', + 'url' => $template_path, + 'local_dir' => $template_dir, + 'working_dir' => $template_dir } ] }