)]}'
{"lib/nova_plugins/functions-libvirt":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a045a7d7108fa1dcd05458ed919a8ad79fc5fb44","unresolved":false,"context_lines":[{"line_number":6,"context_line":"# ``STACK_USER`` has to be defined"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Save trace setting"},{"line_number":9,"context_line":"MY_XTRACE\u003d$(set +o | grep xtrace)"},{"line_number":10,"context_line":"set +o xtrace"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"# Defaults"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAWH%2F%2FxtY%3D","line":9,"updated":"2014-03-13 21:48:38.000000000","message":"This variable name needs to change since this file is sourced inside the setting in hypervisor-libvirt","commit_id":"bf2f405b3fb7b1c58ae5c22f75828047d97b1767"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a045a7d7108fa1dcd05458ed919a8ad79fc5fb44","unresolved":false,"context_lines":[{"line_number":16,"context_line":"DEBUG_LIBVIRT\u003d$(trueorfalse False $DEBUG_LIBVIRT)"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"# Installs required distro-specific libvirt packages."},{"line_number":19,"context_line":"function install_libvirt() {"},{"line_number":20,"context_line":"    if is_ubuntu; then"},{"line_number":21,"context_line":"        install_package kvm"},{"line_number":22,"context_line":"        install_package libvirt-bin"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAWH%2F%2FxpE%3D","line":19,"updated":"2014-03-13 21:48:38.000000000","message":"Remove the () (the bash8 test should tell you that too)","commit_id":"bf2f405b3fb7b1c58ae5c22f75828047d97b1767"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a045a7d7108fa1dcd05458ed919a8ad79fc5fb44","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        install_package python-libguestfs"},{"line_number":30,"context_line":"    fi"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # Install and configure **LXC** if specified.  LXC is another approach to"},{"line_number":33,"context_line":"    # splitting a system into many smaller parts.  LXC uses cgroups and chroot"},{"line_number":34,"context_line":"    # to simulate multiple systems."},{"line_number":35,"context_line":"    if [[ \"$LIBVIRT_TYPE\" \u003d\u003d \"lxc\" ]]; then"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAWH%2F%2FxsA%3D","line":32,"updated":"2014-03-13 21:48:38.000000000","message":"Do you know if Ironic will ever use this?  Actually, if it is even possible? I\u0027m trying to decide if it should stay in hypervisor-libvirt...I don\u0027t know...","commit_id":"bf2f405b3fb7b1c58ae5c22f75828047d97b1767"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"05be61ee556ccc99f228d72b3b4c1d802e0568b1","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        install_package python-libguestfs"},{"line_number":30,"context_line":"    fi"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # Install and configure **LXC** if specified.  LXC is another approach to"},{"line_number":33,"context_line":"    # splitting a system into many smaller parts.  LXC uses cgroups and chroot"},{"line_number":34,"context_line":"    # to simulate multiple systems."},{"line_number":35,"context_line":"    if [[ \"$LIBVIRT_TYPE\" \u003d\u003d \"lxc\" ]]; then"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAWH%2F%2Fxic%3D","line":32,"in_reply_to":"AAAAWH%2F%2FxsA%3D","updated":"2014-03-13 21:59:56.000000000","message":"Good point. AFAIK the baremetal workflow doesn\u0027t really work without the ability to pxe boot, so no.. i dont see ironic using this.  I\u0027ll move it back, since yea--its specific to the libvirt nova driver atm","commit_id":"bf2f405b3fb7b1c58ae5c22f75828047d97b1767"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a045a7d7108fa1dcd05458ed919a8ad79fc5fb44","unresolved":false,"context_lines":[{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# Configures the installed libvirt system so that is accessible by"},{"line_number":49,"context_line":"# STACK_USER via qemu:///system with management capabilities."},{"line_number":50,"context_line":"function setup_libvirt() {"},{"line_number":51,"context_line":"    if is_service_enabled neutron \u0026\u0026 is_neutron_ovs_base_plugin \u0026\u0026 ! sudo grep -q \u0027^cgroup_device_acl\u0027 $QEMU_CONF; then"},{"line_number":52,"context_line":"        # Add /dev/net/tun to cgroup_device_acls, needed for type\u003dethernet interfaces"},{"line_number":53,"context_line":"        cat \u003c\u003cEOF | sudo tee -a $QEMU_CONF"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAWH%2F%2FxpY%3D","line":50,"updated":"2014-03-13 21:48:38.000000000","message":"I\u0027d rather call this configure_libvirt to match the verb used in configure_nova_hypervisor\n\nAlso, remove the ()   (the bash8 test should tell you that too)","commit_id":"bf2f405b3fb7b1c58ae5c22f75828047d97b1767"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a045a7d7108fa1dcd05458ed919a8ad79fc5fb44","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"# Restore xtrace"},{"line_number":136,"context_line":"$MY_XTRACE"},{"line_number":137,"context_line":""},{"line_number":138,"context_line":"# Local variables:"},{"line_number":139,"context_line":"# mode: shell-script"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAWH%2F%2FxtI%3D","line":136,"updated":"2014-03-13 21:48:38.000000000","message":"Change to match above","commit_id":"bf2f405b3fb7b1c58ae5c22f75828047d97b1767"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"0180b1ed10c925233b9343a786a995c37b717a47","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    if ! getent group $LIBVIRT_GROUP \u003e/dev/null; then"},{"line_number":97,"context_line":"        sudo groupadd $LIBVIRT_GROUP"},{"line_number":98,"context_line":"    fi"},{"line_number":99,"context_line":"    add_user_to_group $STACK_USER $LIBVIRT_GROUP"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    # Enable server side traces for libvirtd"},{"line_number":102,"context_line":"    if [[ \"$DEBUG_LIBVIRT\" \u003d \"True\" ]] ; then"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAWH%2F%2FqfA%3D","line":99,"updated":"2014-03-14 16:16:54.000000000","message":"Shouldn\u0027t you also set in /etc/libvirt/libvirtd.conf:\nunix_sock_group \u003d \"libvirtd\"\nunix_sock_rw_perms \u003d \"0770\"\n?\nAfaik the defaults may be different (like root-only)","commit_id":"0f73ff2c516cb9fdb6849f7feb19cd0cfde46852"},{"author":{"_account_id":1420,"name":"Adam Gandelman","email":"adamg@ubuntu.com","username":"gandelman-a"},"change_message_id":"3b04d05b2570e23fa8dd3d5f3e61e5a1053f1ab1","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    if ! getent group $LIBVIRT_GROUP \u003e/dev/null; then"},{"line_number":97,"context_line":"        sudo groupadd $LIBVIRT_GROUP"},{"line_number":98,"context_line":"    fi"},{"line_number":99,"context_line":"    add_user_to_group $STACK_USER $LIBVIRT_GROUP"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    # Enable server side traces for libvirtd"},{"line_number":102,"context_line":"    if [[ \"$DEBUG_LIBVIRT\" \u003d \"True\" ]] ; then"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAWH%2F%2FoIY%3D","line":99,"in_reply_to":"AAAAWH%2F%2FqfA%3D","updated":"2014-03-16 01:11:11.000000000","message":"Yes, that is required for socket based access. The ubuntu libvirt packages configure this by default and I had assumed the policy kit stuff above produces similar results on the other distros.  In any case, this is copy-and-paste code from hypervisor-libvirt so I expect it to work as it has in the past.","commit_id":"0f73ff2c516cb9fdb6849f7feb19cd0cfde46852"}],"lib/nova_plugins/hypervisor-libvirt":[{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"a045a7d7108fa1dcd05458ed919a8ad79fc5fb44","unresolved":false,"context_lines":[{"line_number":38,"context_line":""},{"line_number":39,"context_line":"# configure_nova_hypervisor - Set config files, create data dirs, etc"},{"line_number":40,"context_line":"function configure_nova_hypervisor {"},{"line_number":41,"context_line":"    setup_libvirt"},{"line_number":42,"context_line":"    iniset $NOVA_CONF DEFAULT libvirt_type \"$LIBVIRT_TYPE\""},{"line_number":43,"context_line":"    iniset $NOVA_CONF DEFAULT libvirt_cpu_mode \"none\""},{"line_number":44,"context_line":"    iniset $NOVA_CONF DEFAULT use_usb_tablet \"False\""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAWH%2F%2Fxpk%3D","line":41,"updated":"2014-03-13 21:48:38.000000000","message":"configure_libvirt","commit_id":"bf2f405b3fb7b1c58ae5c22f75828047d97b1767"}]}
