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/27 23:01:32 UTC

[25/50] [abbrv] git commit: First commit of the devcloud pre-configuration puppet module.

First commit of the devcloud pre-configuration puppet module.

Using this via Vagrant assumes that Vagrant is patched with the changes
made by Edison. The pull request to upstream these changes into the
Vagrant project are here: https://github.com/mitchellh/vagrant/pull/1043 )


Project: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/commit/7da5ab8a
Tree: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/tree/7da5ab8a
Diff: http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/diff/7da5ab8a

Branch: refs/heads/vpc
Commit: 7da5ab8acac77f689ea75e7ca77a9ebcb1fd040d
Parents: b037f27
Author: chip.childers@gmail.com <ch...@gmail.com>
Authored: Thu Jul 26 21:25:56 2012 -0400
Committer: chip.childers@gmail.com <ch...@gmail.com>
Committed: Thu Jul 26 21:25:56 2012 -0400

----------------------------------------------------------------------
 tools/devcloud/puppet/fileserver.conf              |    4 -
 .../puppet/puppet-devcloudinitial/files/xend       |  171 +++++++++++++++
 .../devcloud/puppet/puppet-devcloudinitial/init.pp |    1 +
 .../puppet-devcloudinitial/manifests/init.pp       |   34 ++-
 tools/devcloud/vagrant/Vagrantfile                 |   10 +-
 5 files changed, 204 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7da5ab8a/tools/devcloud/puppet/fileserver.conf
----------------------------------------------------------------------
diff --git a/tools/devcloud/puppet/fileserver.conf b/tools/devcloud/puppet/fileserver.conf
deleted file mode 100644
index 9bc290c..0000000
--- a/tools/devcloud/puppet/fileserver.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-[files]
-  path /vagrant
-  allow *
-

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7da5ab8a/tools/devcloud/puppet/puppet-devcloudinitial/files/xend
----------------------------------------------------------------------
diff --git a/tools/devcloud/puppet/puppet-devcloudinitial/files/xend b/tools/devcloud/puppet/puppet-devcloudinitial/files/xend
new file mode 100644
index 0000000..7fa1077
--- /dev/null
+++ b/tools/devcloud/puppet/puppet-devcloudinitial/files/xend
@@ -0,0 +1,171 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:          xend
+# Required-Start:    $remote_fs
+# Required-Stop:     $remote_fs
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: XEN control daemon
+# Description:       XEN control daemon
+### END INIT INFO
+
+PATH=/usr/lib/xen-common/bin:/sbin:/bin:/usr/sbin:/usr/bin
+DESC="Xen daemons"
+
+VERSION=$(xen-version)
+ROOT=/usr/lib/xen-$VERSION
+
+XEND="$ROOT"/bin/xend
+XENCONSOLED="$ROOT"/bin/xenconsoled
+XENCONSOLED_PIDFILE="/var/run/xenconsoled.pid"
+XENSTORED="$ROOT"/bin/xenstored
+XENSTORED_DIR="/var/run/xenstored"
+XENSTORED_PIDFILE="/var/run/xenstore.pid"
+
+[ "$VERSION" ] || exit 0
+[ -x "$XEND" ] || exit 0
+
+[ -r /etc/default/xend ] && . /etc/default/xend
+
+. /lib/init/vars.sh
+. /lib/lsb/init-functions
+
+modules_setup()
+{
+        modprobe xenfs 2>/dev/null
+        modprobe xen-evtchn 2>/dev/null
+        modprobe xen_blkback 2>/dev/null
+        modprobe xen_netback 2>/dev/null
+        modprobe xen_gntdev 2>/dev/null
+}
+
+xenfs_setup()
+{
+        [ -e "/proc/xen/capabilities" ] && return 0
+        log_progress_msg "xenfs"
+        [ -d "/proc/xen" ] || return 1
+        mount -t xenfs xenfs /proc/xen || return 1
+        return 0
+}
+
+capability_check()
+{
+        [ -e "/proc/xen/capabilities" ] || return 1
+        grep -q "control_d" /proc/xen/capabilities || return 1
+        return 0
+}
+
+xend_start()
+{
+        log_progress_msg "xend"
+        $XEND status && return 1
+        $XEND start || return 2
+
+        i=0
+        while [ $i -lt 10 ]; do
+                $XEND status && return 0 || true
+                i=$(($i + 1))
+                sleep 1
+        done
+        return 2
+}
+
+xend_stop()
+{
+        log_progress_msg "xend"
+        $XEND status || return 0
+        $XEND stop || return 1
+}
+
+xenconsoled_start()
+{
+        log_progress_msg "xenconsoled"
+        start-stop-daemon --start --quiet --pidfile "$XENCONSOLED_PIDFILE" --exec "$XENCONSOLED" --test > /dev/null \
+                || return 1
+        start-stop-daemon --start --quiet --pidfile "$XENCONSOLED_PIDFILE" --exec "$XENCONSOLED" -- \
+                $XENCONSOLED_ARGS --pid-file="$XENCONSOLED_PIDFILE" \
+                || return 2
+}
+
+xenstored_start()
+{
+        log_progress_msg "xenstored"
+        start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec "$XENSTORED" --test > /dev/null \
+                || return 1
+        [ -d "$XENSTORED_DIR" ] || mkdir -p "$XENSTORED_DIR"
+        export XENSTORED_ROOTDIR="$XENSTORED_DIR"
+        start-stop-daemon --start --quiet --pidfile "$XENSTORED_PIDFILE" --exec "$XENSTORED" -- \
+                $XENSTORED_ARGS --pid-file="$XENSTORED_PIDFILE" \
+                || return 2
+}
+
+case "$1" in
+  start)
+        log_daemon_msg "Starting $DESC"
+        modules_setup
+        xenfs_setup
+        case "$?" in
+                0) ;;
+                *) log_end_msg 1; exit ;;
+        esac
+        capability_check
+        case "$?" in
+                0) ;;
+                *) log_end_msg 255; exit ;;
+        esac
+        xenstored_start
+        case "$?" in
+                0|1) ;;
+                *) log_end_msg 1; exit ;;
+        esac
+        xenconsoled_start
+        case "$?" in
+                0|1) ;;
+                *) log_end_msg 1; exit ;;
+        esac
+        #xend_start
+        case "$?" in
+                0|1) ;;
+                *) log_end_msg 1; exit ;;
+        esac
+        log_end_msg 0
+        ;;
+  stop)
+        capability_check
+        case "$?" in
+                0) ;;
+                *) exit ;;
+        esac
+        log_daemon_msg "Stopping $DESC"
+        #xend_stop
+        case "$?" in
+                0|1) log_end_msg 0 ;;
+                *) log_end_msg 1 ;;
+        esac
+        ;;
+  restart|force-reload)
+        capability_check
+        case "$?" in
+                0) ;;
+                *) exit ;;
+        esac
+        log_daemon_msg "Restarting $DESC"
+        #xend_stop
+        case "$?" in
+                0|1)
+                #xend_start
+                case "$?" in
+                        0) log_end_msg 0 ;;
+                        *) log_end_msg 1 ;;
+                esac
+                ;;
+                *) log_end_msg 1 ;;
+        esac
+        ;;
+  *)
+        echo "Usage: $0 {start|stop|restart|force-reload}" >&2
+        exit 3
+        ;;
+esac
+
+exit 0

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7da5ab8a/tools/devcloud/puppet/puppet-devcloudinitial/init.pp
----------------------------------------------------------------------
diff --git a/tools/devcloud/puppet/puppet-devcloudinitial/init.pp b/tools/devcloud/puppet/puppet-devcloudinitial/init.pp
new file mode 100644
index 0000000..bf70cec
--- /dev/null
+++ b/tools/devcloud/puppet/puppet-devcloudinitial/init.pp
@@ -0,0 +1 @@
+include puppet-devcloudinitial

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7da5ab8a/tools/devcloud/puppet/puppet-devcloudinitial/manifests/init.pp
----------------------------------------------------------------------
diff --git a/tools/devcloud/puppet/puppet-devcloudinitial/manifests/init.pp b/tools/devcloud/puppet/puppet-devcloudinitial/manifests/init.pp
index 27bf478..79988c6 100644
--- a/tools/devcloud/puppet/puppet-devcloudinitial/manifests/init.pp
+++ b/tools/devcloud/puppet/puppet-devcloudinitial/manifests/init.pp
@@ -9,39 +9,51 @@ class puppet-devcloudinitial {
   }
 
   package { 'xcp-xapi':
-    ensure => latest,
+    require => Package['xen-hypervisor-4.1-amd64'],
+    ensure  => latest,
   }
 
   file { '/etc/xcp/network.conf':
+    require => Package['xcp-xapi'],
     ensure  => 'file',
-    source  => 'puppet:///files/puppet-devcloudinitial/files/network.conf',
+    source  => 'puppet:///modules/puppet-devcloudinitial/network.conf',
     group   => '0',
     mode    => '644',
     owner   => '0',
   }
 
-  exec { "/bin/sed -i -e 's/xend_start$/#xend_start/' -e 's/xend_stop$/#xend_stop/' /etc/init.d/xend":
-    cwd     => '/etc/init.d',
+  file { '/etc/init.d/xend':
+    require => Package['xcp-xapi'],
+    ensure  => 'file',
+    source  => 'puppet:///modules/puppet-devcloudinitial/xend',
+    group   => '0',
+    owner   => '0',
+    mode    => '755',
   }
 
   service { 'xendomains':
-    ensure => 'stopped',
-    enable => 'false',
+    require => Package['xcp-xapi'],
+    ensure  => 'stopped',
+    enable  => 'false',
   }
 
   file { '/etc/default/grub':
+    require => Package['xen-hypervisor-4.1-amd64'],
     ensure  => 'file',
-    source  => 'puppet:///files/puppet-devcloudinitial/files/grub',
+    source  => 'puppet:///modules/puppet-devcloudinitial/grub',
     group   => '0',
     mode    => '644',
     owner   => '0',
   }
 
   exec { "/usr/sbin/update-grub":
-    cwd     => '/',
+    subscribe => File['/etc/default/grub'],
+    refreshonly => true,
+    cwd       => '/',
   }
 
   file { '/usr/share/qemu':
+    require => Package['xen-hypervisor-4.1-amd64'],
     ensure => 'directory',
     group  => '0',
     mode   => '755',
@@ -49,6 +61,7 @@ class puppet-devcloudinitial {
   }
 
   file { '/usr/share/qemu/keymaps':
+    require => File['/usr/share/qemu'],
     ensure => 'link',
     group  => '0',
     mode   => '777',
@@ -58,15 +71,16 @@ class puppet-devcloudinitial {
 
   file { '/etc/network/interfaces':
     ensure  => 'file',
-    source  => 'puppet:///files/puppet-devcloudinitial/files/interfaces',
+    source  => 'puppet:///modules/puppet-devcloudinitial/interfaces',
     group   => '0',
     mode    => '644',
     owner   => '0',
   }
 
   file { '/etc/default/xen':
+    require => Package['xen-hypervisor-4.1-amd64'],
     ensure  => 'file',
-    source  => 'puppet:///files/puppet-devcloudinitial/files/xen-defaults',
+    source  => 'puppet:///modules/puppet-devcloudinitial/xen-defaults',
     group   => '0',
     mode    => '644',
     owner   => '0',

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/7da5ab8a/tools/devcloud/vagrant/Vagrantfile
----------------------------------------------------------------------
diff --git a/tools/devcloud/vagrant/Vagrantfile b/tools/devcloud/vagrant/Vagrantfile
index 009d978..d2a9c99 100644
--- a/tools/devcloud/vagrant/Vagrantfile
+++ b/tools/devcloud/vagrant/Vagrantfile
@@ -25,7 +25,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
@@ -38,7 +38,13 @@ Vagrant::Config.run do |config|
   # Ensure the VM has the right virtual resources
   #config.vm.
       
-  #config.vm.provision :shell, :inline => "/vagrant/devcloudsetup.sh -p -v"
+  config.vm.provision :puppet do |puppet|
+    puppet.manifests_path = "puppet-devcloudinitial"
+    puppet.manifest_file  = "init.pp"
+    puppet.with_ssh       = true
+    puppet.pp_path        = "/etc/puppet"
+    puppet.module_path    = "puppet-devcloudinitial"
+  end
 
   # Enable provisioning with Puppet stand alone.  Puppet manifests
   # are contained in a directory path relative to this Vagrantfile.