diff options
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 36b5ba3..c99a890 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" | |||
| 5 | FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}" | 5 | FILESEXTRAPATHS := "${THISDIR}/${PYTHON_PN}" |
| 6 | 6 | ||
| 7 | SRC_URI += "file://nova-all \ | 7 | SRC_URI += "file://nova-all \ |
| 8 | file://nova-consoleauth \ | ||
| 9 | file://nova-novncproxy \ | ||
| 8 | file://nova.conf \ | 10 | file://nova.conf \ |
| 9 | file://openrc \ | 11 | file://openrc \ |
| 10 | " | 12 | " |
| 11 | 13 | ||
| 12 | inherit hosts update-rc.d | 14 | inherit hosts update-rc.d |
| 13 | 15 | ||
| 14 | #PACKAGES = "${SRCNAME}-controller ${SRCNAME}-controller-misc" | ||
| 15 | PACKAGES = "${PN} ${PN}-dbg ${SRCNAME}-controller-misc ${SRCNAME}-controller" | 16 | PACKAGES = "${PN} ${PN}-dbg ${SRCNAME}-controller-misc ${SRCNAME}-controller" |
| 17 | PACKAGES += " ${SRCNAME}-consoleauth" | ||
| 18 | PACKAGES += " ${SRCNAME}-novncproxy" | ||
| 16 | 19 | ||
| 17 | do_install_append() { | 20 | do_install_append() { |
| 18 | if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then | 21 | if ${@base_contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then |
| 19 | install -d ${D}${sysconfdir}/init.d | 22 | install -d ${D}${sysconfdir}/init.d |
| 20 | install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all | 23 | install -m 0755 ${WORKDIR}/nova-all ${D}${sysconfdir}/init.d/nova-all |
| 24 | install -m 0755 ${WORKDIR}/nova-consoleauth ${D}${sysconfdir}/init.d/nova-consoleauth | ||
| 25 | install -m 0755 ${WORKDIR}/nova-novncproxy ${D}${sysconfdir}/init.d/nova-novncproxy | ||
| 21 | fi | 26 | fi |
| 22 | } | 27 | } |
| 23 | 28 | ||
| @@ -49,7 +54,15 @@ pkg_postinst_${SRCNAME}-controller () { | |||
| 49 | FILES_${SRCNAME}-controller = " \ | 54 | FILES_${SRCNAME}-controller = " \ |
| 50 | ${bindir} \ | 55 | ${bindir} \ |
| 51 | ${sysconfdir}/${SRCNAME}/* \ | 56 | ${sysconfdir}/${SRCNAME}/* \ |
| 52 | ${sysconfdir}/init.d/nova-all" | 57 | ${sysconfdir}/init.d/nova-all \ |
| 58 | " | ||
| 59 | |||
| 60 | FILES_${SRCNAME}-consoleauth = " \ | ||
| 61 | ${sysconfdir}/init.d/nova-consoleauth \ | ||
| 62 | " | ||
| 63 | FILES_${SRCNAME}-novncproxy = " \ | ||
| 64 | ${sysconfdir}/init.d/nova-novncproxy \ | ||
| 65 | " | ||
| 53 | 66 | ||
| 54 | FILES_${SRCNAME}-controller-misc = " \ | 67 | FILES_${SRCNAME}-controller-misc = " \ |
| 55 | ${bindir}/nova-compute \ | 68 | ${bindir}/nova-compute \ |
| @@ -62,10 +75,13 @@ FILES_${SRCNAME}-controller-misc = " \ | |||
| 62 | FILES_${PN} = " \ | 75 | FILES_${PN} = " \ |
| 63 | ${libdir}/python*/site-packages" | 76 | ${libdir}/python*/site-packages" |
| 64 | 77 | ||
| 65 | RDEPENDS_${SRCNAME}-controller = "${PYTHON_PN} ${SRCNAME}-common \ | 78 | RDEPENDS_${SRCNAME}-controller = "${PYTHON_PN} ${SRCNAME}-common ${SRCNAME}-consoleauth \ |
| 79 | ${SRCNAME}-novncproxy \ | ||
| 66 | postgresql postgresql-client python-psycopg2" | 80 | postgresql postgresql-client python-psycopg2" |
| 67 | 81 | ||
| 68 | RCONFLICTS_${SRCNAME}-controller = "${SRCNAME}-compute" | 82 | RCONFLICTS_${SRCNAME}-controller = "${SRCNAME}-compute" |
| 69 | 83 | ||
| 70 | INITSCRIPT_PACKAGES = "${SRCNAME}-controller" | 84 | INITSCRIPT_PACKAGES = "${SRCNAME}-controller ${SRCNAME}-consoleauth ${SRCNAME}-novncproxy" |
| 71 | INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all" | 85 | INITSCRIPT_NAME_${SRCNAME}-controller = "nova-all" |
| 86 | INITSCRIPT_NAME_${SRCNAME}-consoleauth = "nova-consoleauth" | ||
| 87 | 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 01483e7..e520130 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() { | |||
| 68 | sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/nova.conf | 68 | sed -e "s:%CONTROLLER_IP%:${CONTROLLER_IP}:g" -i ${WORKDIR}/nova.conf |
| 69 | sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/nova.conf | 69 | sed -e "s:%CONTROLLER_HOST%:${CONTROLLER_HOST}:g" -i ${WORKDIR}/nova.conf |
| 70 | 70 | ||
| 71 | sed -e "s:%COMPUTE_IP%:${COMPUTE_IP}:g" -i ${WORKDIR}/nova.conf | ||
| 72 | sed -e "s:%COMPUTE_HOST%:${COMPUTE_HOST}:g" -i ${WORKDIR}/nova.conf | ||
| 73 | |||
| 71 | sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/openrc | 74 | sed -e "s:%OS_PASSWORD%:${ADMIN_PASSWORD}:g" -i ${WORKDIR}/openrc |
| 72 | sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${WORKDIR}/openrc | 75 | sed -e "s:%SERVICE_TOKEN%:${SERVICE_TOKEN}:g" -i ${WORKDIR}/openrc |
| 73 | 76 | ||
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 0000000..13ad285 --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-nova/nova-consoleauth | |||
| @@ -0,0 +1,75 @@ | |||
| 1 | #! /bin/sh | ||
| 2 | ### BEGIN INIT INFO | ||
| 3 | # Provides: nova-consoleauth | ||
| 4 | # Required-Start: $remote_fs $syslog | ||
| 5 | # Required-Stop: $remote_fs $syslog | ||
| 6 | # Should-Start: libvirt-bin | ||
| 7 | # Should-Stop: libvirt-bin | ||
| 8 | # Default-Start: 2 3 4 5 | ||
| 9 | # Default-Stop: 0 1 6 | ||
| 10 | # Short-Description: nova-consoleauth service | ||
| 11 | # Description: Provides console services for the openstack | ||
| 12 | # cloud computing system | ||
| 13 | ### END INIT INFO | ||
| 14 | |||
| 15 | |||
| 16 | set -e | ||
| 17 | |||
| 18 | DAEMON=/usr/bin/nova-consoleauth | ||
| 19 | DAEMON_ARGS="" | ||
| 20 | PIDFILE=/var/run/nova/nova-consoleauth.pid | ||
| 21 | |||
| 22 | ENABLED=true | ||
| 23 | |||
| 24 | if test -f /etc/default/nova-consoleauth; then | ||
| 25 | . /etc/default/nova-consoleauth | ||
| 26 | fi | ||
| 27 | |||
| 28 | mkdir -p /var/run/nova | ||
| 29 | chown nova:root /var/run/nova/ | ||
| 30 | |||
| 31 | mkdir -p /var/lock/nova | ||
| 32 | chown nova:root /var/lock/nova/ | ||
| 33 | |||
| 34 | #uid="$(getent passwd nova | cut -f3 -d:)" | ||
| 35 | #gid="$(getent passwd nova | cut -f4 -d:)" | ||
| 36 | |||
| 37 | . /lib/lsb/init-functions | ||
| 38 | |||
| 39 | export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | ||
| 40 | export TMPDIR=/var/lib/nova/tmp | ||
| 41 | |||
| 42 | if ! [ -x ${DAEMON} ] ; then | ||
| 43 | exit 0 | ||
| 44 | fi | ||
| 45 | |||
| 46 | case "$1" in | ||
| 47 | start) | ||
| 48 | test "$ENABLED" = "true" || exit 0 | ||
| 49 | echo "Starting nova console" "nova-consoleauth" | ||
| 50 | start-stop-daemon --start -b -m --pidfile $PIDFILE --exec ${DAEMON} -- ${DAEMON_ARGS} | ||
| 51 | log_end_msg $? | ||
| 52 | ;; | ||
| 53 | stop) | ||
| 54 | test "$ENABLED" = "true" || exit 0 | ||
| 55 | echo "Stopping nova console" "nova-consoleauth" | ||
| 56 | start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} | ||
| 57 | log_end_msg $? | ||
| 58 | ;; | ||
| 59 | restart|force-reload) | ||
| 60 | test "$ENABLED" = "true" || exit 1 | ||
| 61 | $0 stop | ||
| 62 | sleep 1 | ||
| 63 | $0 start | ||
| 64 | ;; | ||
| 65 | status) | ||
| 66 | test "$ENABLED" = "true" || exit 0 | ||
| 67 | status_of_proc -p $PIDFILE $DAEMON nova-consoleauth && exit 0 || exit $? | ||
| 68 | ;; | ||
| 69 | *) | ||
| 70 | echo "Usage: /etc/init.d/nova-consoleauth {start|stop|restart|force-reload|status}" | ||
| 71 | exit 1 | ||
| 72 | ;; | ||
| 73 | esac | ||
| 74 | |||
| 75 | 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 0000000..76cd1df --- /dev/null +++ b/meta-openstack/recipes-devtools/python/python-nova/nova-novncproxy | |||
| @@ -0,0 +1,72 @@ | |||
| 1 | #! /bin/sh | ||
| 2 | ### BEGIN INIT INFO | ||
| 3 | # Provides: nova-novncproxy | ||
| 4 | # Required-Start: $remote_fs $syslog | ||
| 5 | # Required-Stop: $remote_fs $syslog | ||
| 6 | # Should-Start: libvirt-bin | ||
| 7 | # Should-Stop: libvirt-bin | ||
| 8 | # Default-Start: 2 3 4 5 | ||
| 9 | # Default-Stop: 0 1 6 | ||
| 10 | # Short-Description: nova-novncproxy service | ||
| 11 | # Description: Provides vnc proxy services for the openstack | ||
| 12 | # cloud computing system | ||
| 13 | ### END INIT INFO | ||
| 14 | |||
| 15 | |||
| 16 | set -e | ||
| 17 | |||
| 18 | DAEMON=/usr/bin/nova-novncproxy | ||
| 19 | DAEMON_ARGS="" | ||
| 20 | PIDFILE=/var/run/nova/nova-novncproxy.pid | ||
| 21 | |||
| 22 | ENABLED=true | ||
| 23 | |||
| 24 | if test -f /etc/default/nova-novncproxy; then | ||
| 25 | . /etc/default/nova-novncproxy | ||
| 26 | fi | ||
| 27 | |||
| 28 | mkdir -p /var/run/nova | ||
| 29 | chown nova:root /var/run/nova/ | ||
| 30 | |||
| 31 | mkdir -p /var/lock/nova | ||
| 32 | chown nova:root /var/lock/nova/ | ||
| 33 | |||
| 34 | . /lib/lsb/init-functions | ||
| 35 | |||
| 36 | export PATH="${PATH:+$PATH:}/usr/sbin:/sbin" | ||
| 37 | export TMPDIR=/var/lib/nova/tmp | ||
| 38 | |||
| 39 | if ! [ -x ${DAEMON} ] ; then | ||
| 40 | exit 0 | ||
| 41 | fi | ||
| 42 | |||
| 43 | case "$1" in | ||
| 44 | start) | ||
| 45 | test "$ENABLED" = "true" || exit 0 | ||
| 46 | echo "Starting nova vnc proxy" "nova-novncproxy" | ||
| 47 | start-stop-daemon --start -b -m --pidfile $PIDFILE --exec ${DAEMON} -- ${DAEMON_ARGS} | ||
| 48 | log_end_msg $? | ||
| 49 | ;; | ||
| 50 | stop) | ||
| 51 | test "$ENABLED" = "true" || exit 0 | ||
| 52 | echo "Stopping nova vnc proxy" "nova-novncproxy" | ||
| 53 | start-stop-daemon --stop --oknodo --pidfile ${PIDFILE} | ||
| 54 | log_end_msg $? | ||
| 55 | ;; | ||
| 56 | restart|force-reload) | ||
| 57 | test "$ENABLED" = "true" || exit 1 | ||
| 58 | $0 stop | ||
| 59 | sleep 1 | ||
| 60 | $0 start | ||
| 61 | ;; | ||
| 62 | status) | ||
| 63 | test "$ENABLED" = "true" || exit 0 | ||
| 64 | status_of_proc -p $PIDFILE $DAEMON nova-novncproxy && exit 0 || exit $? | ||
| 65 | ;; | ||
| 66 | *) | ||
| 67 | echo "Usage: /etc/init.d/nova-novncproxy {start|stop|restart|force-reload|status}" | ||
| 68 | exit 1 | ||
| 69 | ;; | ||
| 70 | esac | ||
| 71 | |||
| 72 | 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 695f084..20db54d 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% | |||
| 22 | 22 | ||
| 23 | #VNC | 23 | #VNC |
| 24 | vnc_enabled = true | 24 | vnc_enabled = true |
| 25 | vncserver_listen = 0.0.0.0 | 25 | vncserver_listen = %COMPUTE_IP% |
| 26 | novncproxy_base_url=http://%CONTROLLER_IP%:6080/vnc_auto.html | ||
| 27 | vncserver_proxyclient_address=%COMPUTE_IP% | ||
| 26 | 28 | ||
| 27 | #Network | 29 | #Network |
| 28 | flat_interface = eth0 | 30 | flat_interface = eth0 |
| @@ -35,7 +37,6 @@ force_dhcp_release=False | |||
| 35 | dhcpbridge=/usr/bin/nova-dhcpbridge | 37 | dhcpbridge=/usr/bin/nova-dhcpbridge |
| 36 | 38 | ||
| 37 | #Database configuration | 39 | #Database configuration |
| 38 | # sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@localhost/nova | ||
| 39 | sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@%CONTROLLER_IP%/nova | 40 | sql_connection = postgresql://%DB_USER%:%DB_PASSWORD%@%CONTROLLER_IP%/nova |
| 40 | 41 | ||
| 41 | #RabbitMQ configuration | 42 | #RabbitMQ configuration |
