diff options
Diffstat (limited to 'meta-openstack/recipes-devtools/python')
5 files changed, 173 insertions, 6 deletions
diff --git a/meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb b/meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb index 36b5ba36..c99a890e 100644 --- a/meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb +++ b/meta-openstack/recipes-devtools/python/python-nova-controller_2013.1.3.bb @@ -5,19 +5,24 @@ PR = "r0" FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}" SRC_URI += "file://nova-all \ + file://nova-consoleauth \ + file://nova-novncproxy \ file://nova.conf \ file://openrc \ " inherit hosts update-rc.d -#PACKAGES = "${SRCNAME}-controller ${SRCNAME}-controller-misc" PACKAGES = "${PN} ${PN}-dbg ${SRCNAME}-controller-misc ${SRCNAME}-controller" +PACKAGES += " ${SRCNAME}-consoleauth" +PACKAGES += " ${SRCNAME}-novncproxy" do_install_append() { if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then install -d ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all + install -m 0755 ${WORKDIR}/nova-consoleauth ${D}${sysconfdir}/init.d/nova-consoleauth + install -m 0755 ${WORKDIR}/nova-novncproxy ${D}${sysconfdir}/init.d/nova-novncproxy fi } @@ -49,7 +54,15 @@ pkg_postinst_${SRCNAME}-controller () { FILES_${SRCNAME}-controller = " \ ${bindir} \ ${sysconfdir}/${SRCNAME}/* \ - ${sysconfdir}/init.d/nova-all" + ${sysconfdir}/init.d/nova-all \ +" + +FILES_${SRCNAME}-consoleauth = " \ + ${sysconfdir}/init.d/nova-consoleauth \ +" +FILES_${SRCNAME}-novncproxy = " \ + ${sysconfdir}/init.d/nova-novncproxy \ +" FILES_${SRCNAME}-controller-misc = " \ ${bindir}/nova-compute \ @@ -62,10 +75,13 @@ FILES_${SRCNAME}-controller-misc = " \ FILES_${PN} = " \ ${libdir}/python*/site-packages" -RDEPENDS_${SRCNAME}-controller = "${PYTHON_PN} ${SRCNAME}-common \ +RDEPENDS_${SRCNAME}-controller = "${PYTHON_PN} ${SRCNAME}-common ${SRCNAME}-consoleauth \ + ${SRCNAME}-novncproxy \ postgresql postgresql-client python-psycopg2" RCONFLICTS_${SRCNAME}-controller = "${SRCNAME}-compute" -INITSCRIPT_PACKAGES = "${SRCNAME}-controller" +INITSCRIPT_PACKAGES = "${SRCNAME}-controller ${SRCNAME}-consoleauth ${SRCNAME}-novncproxy" INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all" +INITSCRIPT_NAME_${SRCNAME}-consoleauth = "nova-consoleauth" +INITSCRIPT_NAME_${SRCNAME}-novncproxy = "nova-novncproxy" diff --git a/meta-openstack/recipes-devtools/python/python-nova.inc b/meta-openstack/recipes-devtools/python/python-nova.inc index 01483e7f..e520130c 100644 --- a/meta-openstack/recipes-devtools/python/python-nova.inc +++ b/meta-openstack/recipes-devtools/python/python-nova.inc @@ -68,6 +68,9 @@ do_install_append() { sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/nova.conf sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/nova.conf + sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${WORKDIR}/nova.conf + sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${WORKDIR}/nova.conf + sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/openrc sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${WORKDIR}/openrc diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth new file mode 100644 index 00000000..13ad2855 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth @@ -0,0 +1,75 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: nova-consoleauth +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Should-Start: libvirt-bin +# Should-Stop: libvirt-bin +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: nova-consoleauth service +# Description: Provides console services for the openstack +# cloud computing system +### END INIT INFO + + +set -e + +DAEMON=/usr/bin/nova-consoleauth +DAEMON_ARGS="" +PIDFILE=/var/run/nova/nova-consoleauth.pid + +ENABLED=true + +if test -f /etc/default/nova-consoleauth; then + . /etc/default/nova-consoleauth +fi + +mkdir -p /var/run/nova +chown nova:root /var/run/nova/ + +mkdir -p /var/lock/nova +chown nova:root /var/lock/nova/ + +#uid="$(getent passwd nova | cut -f3 -d:)" +#gid="$(getent passwd nova | cut -f4 -d:)" + +. /lib/lsb/init-functions + +export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" +export TMPDIR=/var/lib/nova/tmp + +if ! [ -x ${DAEMON} ] ; then + exit 0 +fi + +case "$1" in + start) + test "$ENABLED" = "true" || exit 0 + echo "Starting nova console" "nova-consoleauth" + start-stop-daemon --start -b -m --pidfile $PIDFILE --exec ${DAEMON} -- ${DAEMON_ARGS} + log_end_msg $? + ;; + stop) + test "$ENABLED" = "true" || exit 0 + echo "Stopping nova console" "nova-consoleauth" + start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} + log_end_msg $? + ;; + restart|force-reload) + test "$ENABLED" = "true" || exit 1 + $0 stop + sleep 1 + $0 start + ;; + status) + test "$ENABLED" = "true" || exit 0 + status_of_proc -p $PIDFILE $DAEMON nova-consoleauth && exit 0 || exit $? + ;; + *) + echo "Usage: /etc/init.d/nova-consoleauth {start|stop|restart|force-reload|status}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy new file mode 100644 index 00000000..76cd1df6 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy @@ -0,0 +1,72 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: nova-novncproxy +# Required-Start: $remote_fs $syslog +# Required-Stop: $remote_fs $syslog +# Should-Start: libvirt-bin +# Should-Stop: libvirt-bin +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: nova-novncproxy service +# Description: Provides vnc proxy services for the openstack +# cloud computing system +### END INIT INFO + + +set -e + +DAEMON=/usr/bin/nova-novncproxy +DAEMON_ARGS="" +PIDFILE=/var/run/nova/nova-novncproxy.pid + +ENABLED=true + +if test -f /etc/default/nova-novncproxy; then + . /etc/default/nova-novncproxy +fi + +mkdir -p /var/run/nova +chown nova:root /var/run/nova/ + +mkdir -p /var/lock/nova +chown nova:root /var/lock/nova/ + +. /lib/lsb/init-functions + +export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" +export TMPDIR=/var/lib/nova/tmp + +if ! [ -x ${DAEMON} ] ; then + exit 0 +fi + +case "$1" in + start) + test "$ENABLED" = "true" || exit 0 + echo "Starting nova vnc proxy" "nova-novncproxy" + start-stop-daemon --start -b -m --pidfile $PIDFILE --exec ${DAEMON} -- ${DAEMON_ARGS} + log_end_msg $? + ;; + stop) + test "$ENABLED" = "true" || exit 0 + echo "Stopping nova vnc proxy" "nova-novncproxy" + start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} + log_end_msg $? + ;; + restart|force-reload) + test "$ENABLED" = "true" || exit 1 + $0 stop + sleep 1 + $0 start + ;; + status) + test "$ENABLED" = "true" || exit 0 + status_of_proc -p $PIDFILE $DAEMON nova-novncproxy && exit 0 || exit $? + ;; + *) + echo "Usage: /etc/init.d/nova-novncproxy {start|stop|restart|force-reload|status}" + exit 1 + ;; +esac + +exit 0 diff --git a/meta-openstack/recipes-devtools/python/python-nova/nova.conf b/meta-openstack/recipes-devtools/python/python-nova/nova.conf index 695f0845..20db54dc 100644 --- a/meta-openstack/recipes-devtools/python/python-nova/nova.conf +++ b/meta-openstack/recipes-devtools/python/python-nova/nova.conf @@ -22,7 +22,9 @@ glance_host = %CONTROLLER_IP% #VNC vnc_enabled = true -vncserver_listen = 0.0.0.0 +vncserver_listen = %COMPUTE_IP% +novncproxy_base_url=http://%CONTROLLER_IP%:6080/vnc_auto.html +vncserver_proxyclient_address=%COMPUTE_IP% #Network flat_interface = eth0 @@ -35,7 +37,6 @@ force_dhcp_release=False dhcpbridge=/usr/bin/nova-dhcpbridge #Database configuration -# sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@localhost/nova sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@%CONTROLLER_IP%/nova #RabbitMQ configuration |