commit openstack-nova for openSUSE:Factory
Hello community, here is the log from the commit of package openstack-nova for openSUSE:Factory checked in at 2014-04-14 10:56:18 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/openstack-nova (Old) and /work/SRC/openSUSE:Factory/.openstack-nova.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "openstack-nova" Changes: -------- --- /work/SRC/openSUSE:Factory/openstack-nova/openstack-nova-doc.changes 2013-10-18 19:23:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.openstack-nova.new/openstack-nova-doc.changes 2014-04-14 10:56:21.000000000 +0200 @@ -2 +2 @@ -Thu Oct 17 14:52:27 UTC 2013 - speilicke@suse.com +Fri Mar 7 08:55:19 UTC 2014 - speilicke@suse.com @@ -4 +4,391 @@ -- Don't require python-Cheeta, upstream moved to Jinja2 +- Update to version nova-2014.1.dev61.gc08cc38: + * Store neutron port status in VIF model + * Correct network_model tests and __eq__ operator + * Make network_cache more robust with neutron + * Fix BDM legacy usage with objects + * Fix anti-affinity race condition on boot + * Initial scheduler support for instance_groups + * Add get_hosts to InstanceGroup object + * Add instance to instance group in compute.api + * Add add_members to InstanceGroup object + * Remove run-time dependency on fixtures module by the nova baremetal + * Make compute manager prune instance events on delete and migrate + * Make compute manager's virtapi support waiting for events + * Add os-server-external-events V3 API + * Add os-server-external-events API + * Add external_instance_event() method to compute manager + * Move _poll_volume_usage periodic task to BDM objects + * Move instance_resize code paths to BDM objects + * Make swap_volume code path use BDM objects + * Move detach_volume and remove_vol_connection to BDM objects + * Move instance delete to new-world BDM objects + * Fix development environment docs for redhat-based systems + * VMware: create datastore utility functions + * Address the comments of the merged image handler patch + 2014.1.b3 + * VMware: refactor _get_volume_uuid + * notifier middleware broken by oslo.messaging + * Prevent thrashing when deploying many bm instances + +------------------------------------------------------------------- +Thu Mar 6 01:04:57 UTC 2014 - cloud-devel@suse.de + +- Update to version nova-2014.1.dev1058.g107acb3: + * Ignore the image name when booting from volume + * Fixing host_ip configuration help message + * No longer call check_uptodate.sh in pep8 + * Adding image multiple location support + * Add a missing space in a log message + * Sync the latest DB code from oslo-incubator + * VMware Driver update correct disk usage stat + * Move vbd plug/unplug into session object + * Move the metrics update to get_metrics + * Fix incorrect kwargs 'reason' for HTTPBadRequest + * changed quantum to neutron in vif-openstack + +------------------------------------------------------------------- +Wed Mar 5 08:47:11 UTC 2014 - cloud-devel@suse.de + +- Update to version nova-2014.1.dev1036.gf11071b: + * regenerate the config file to support 1.3.0a9 + * Move all shelve code paths to BDM objects + * Move rebuild to BDM objects + * sync sslutils to not conflict with oslo.messaging + * Refactor xenapi/host.py to new call_xenapi pattern + * Updated from global requirements + * Restore get_available_resource method in docker driver + * Move xenapi/agent.py to new call_xenapi style + * xenapi: changes the debug log formatting + * xenapi: stop destroy_vdi errors masking real error + * Sync latest config file generator from oslo-incubator + * VMware: support instance objects + * VMware: add instance detail to detach log message + * Fixes the Hyper-V VolumeOpsTestCase base class + +------------------------------------------------------------------- +Tue Mar 4 01:21:00 UTC 2014 - cloud-devel@suse.de + +- Update to version nova-2014.1.dev1012.gfb6ac06: + * Support configuring libvirt watchdog from flavors + * Add watchdog device support to libvirt driver + * Sync latest Guru Meditation Reports from Oslo + * Adds get_console_connect_info API + * When a claim is rejected, explain why + * Refactor pool.py to remove calls to call_xenapi + * xenapi: make session calls more discoverable + * Remove and recreate interface if already exists + * Prevent caller from specifying id during Aggregate.create() + * Removing redundant validation for rebuild request + * Ensure parent dir exists while injecting files + * Fix upper bound checking for flavor create parameters + * Explicity teardown on error in libguestfs setup() + * Fix run_tests.sh lockutils when run with -d + +------------------------------------------------------------------- +Mon Mar 3 11:22:02 UTC 2014 - cloud-devel@suse.de + +- Update to version nova-2014.1.dev984.g80e8555: + * Fixes api samples for V2 os-assisted-volume-snapshots + * Remove log_handler module from oslo-incubator sync + * Remove deleted module flakes from openstack-common.conf + * xenapi plugins: Make sure subprocesses finish executing + * Downgrade the log level for floating IP associate + * Adds create backup server extension for the V3 API + * Add boolean convertor to "create multiple servers" API + * Add comment/doc about utils.mkfs in rootwrap + * Add mkfs to the baremetal-deploy-helper rootwrap + * Add super call to db Base class + +------------------------------------------------------------------- +Sun Mar 2 00:36:35 UTC 2014 - cloud-devel@suse.de + +- Update to version nova-2014.1.dev964.ge19b294: + * Make compute manager use InstanceInfoCache object for deletes + * Deprecate conductor instance_type_get() and remove from VirtAPI + * Make restore_instance pass the Instance object to compute manager + * Use uuid instead of name for lvm backend + * Update Oslo wiki link in README + * Make error notifications more consistent + * Adds unit test for etc/nova/policy.json data + * Make resource_tracker use Flavor object + * Make compute manager use Flavor object + * Make baremetal driver use Flavor object instead of VirtAPI + * Add support for tenant_id based authentication with Neutron + * Enable flake8 H404 checking + * Imported Translations from Transifex + * Use oslo-common's logging fixture + * Re-Sync oslo-incubator fixtures + * Updated from global requirements + * Update pre_live_migration to take instance object + * Remove unused method inject_file() + * Remove db query from deallocate_fixed_ip + * update deallocate_for_instance to take instance obj + * Update server_diagnostics to use instance object + * Remove trailing comma from sample JSON + * Add pack_action_start/finish helper to InstanceAction object + * libvirt: remove explicit /dev/random rng default + * libvirt: setting a correct driver name for iscsi volumes + * Catch HostBinaryNotFound exception when updating a service + * VMware: fix datastore selection when token is returned + * Introduce Guru Meditation Reports into Nova + * Use image from the api in run_instance, if present + * Cleanup v3 test_versions + +------------------------------------------------------------------- +Thu Feb 27 00:42:37 UTC 2014 - cloud-devel@suse.de + +- Update to version nova-2014.1.dev885.gd3368a9: + * Add a caching scheduler driver + * libvirt: image property variable already defined + * Remove blank space after print + * libvirt: Enable custom video RAM setting + * Rewrite InstanceActionEvent object testcase using mock + * Clean up _make_*_list in object models to use base.obj_make_list + * Document virt driver methods that take Instance objects + * Make interface attach and detach use objects + * Pass instance object to soft_delete() and get_info() + * libvirt: host specific virtio-rng backend + * VMware: remove unused parameter from _wait_for_task + * Hyper-V log cleanups + * Update ubuntu dev env instructions + * Make webob.exc.HTTPForbidden return correct message + * Remove unused variables in the xenapi.vmops module + * Fix import order in log_handler + * Emit message which merged user-supplied argument in log_handler + * Typo in the name 'libvirt_snapshot_compression' + * Fix InstanceNotFound error in _delete_instance_files + * Remove unused methods + * DB: logging exceptions should use save_and_reraise + * Replace detail for explanation msgs on webob exceptions + * Clean IMAGE_SNAPSHOT_PENDING state on compute manager start up + * V2 Pause: treat case when driver does not implement the operation + * Add missing translation support + * Catch NotImplementedError in get_spice_console in v2/v3 API + * Minor changes to make certificates test cases use HTTPRequestV3 + +------------------------------------------------------------------- +Wed Feb 26 00:52:03 UTC 2014 - cloud-devel@suse.de + +- Update to version nova-2014.1.dev831.gc3c21bd: + * VMware: add a test for driver capabilities + * VMware: ensure that datastore name exists prior to deleting disk + * Move compute's _get_instance_volume_block_device_info to BDM objects + * Use disk_bus and device_type in attaching volumes + * Add device bus and type to virt attach_volume call + * Make volume attach use objects + * compute: invalid gettext message format + * VMware: fix the VNC port allocation + * vmware: driver races to create instance images + * Revert "VMware: fix race for datastore directory existence" + * Use instance object for delete + * libvirt: adding a random number generator device to instances + * Serialize the notification payload in json + * Disable IGMP snooping on hybrid Linux bridge + * VMware: improve unit test time + * Objectify instance_action for cell scheduler + * VMware: fix missing datastore regex with ESX driver + * Make exception message more friendly + * Fix unhandled InvalidServerState exceptions in server start/stop + * Make nova/quota use keypair objects + +------------------------------------------------------------------- +Tue Feb 25 01:23:31 UTC 2014 - cloud-devel@suse.de + ++++ 198 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/openstack-nova/openstack-nova-doc.changes ++++ and /work/SRC/openSUSE:Factory/.openstack-nova.new/openstack-nova-doc.changes --- /work/SRC/openSUSE:Factory/openstack-nova/openstack-nova.changes 2014-02-11 10:41:43.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.openstack-nova.new/openstack-nova.changes 2014-04-14 10:56:21.000000000 +0200 @@ -2 +2 @@ -Mon Feb 03 01:17:12 UTC 2014 - cloud-devel@suse.de +Tue Apr 8 11:57:48 UTC 2014 - dmueller@suse.com @@ -4,3 +4 @@ -- Rebased patches: - + nova-vmware-hypervisor-version.patch (only offset) - + neutron-performance.patch (only offset) +- add 0001-Start-ping-listener-also-for-postgresql.patch (bnc#872361) @@ -9 +7 @@ -Mon Feb 3 01:17:08 UTC 2014 - opensuse-cloud@opensuse.org +Thu Apr 3 17:30:24 UTC 2014 - dmueller@suse.com @@ -11,3 +9 @@ -- Update to version 2013.2.2.dev46.g2c44ed7+git.1391390228.2c44ed7: - + Fix interface-attach removes existing interfaces from db - + VMware: fix bug when more than one datacenter exists +- add 0001-libvirt-Make-nwfilter-driver-use-right-filterref.patch @@ -16 +12,223 @@ -Sun Feb 2 01:18:34 UTC 2014 - opensuse-cloud@opensuse.org +Tue Apr 1 09:09:37 UTC 2014 - speilicke@suse.com + +- Add 0001-Drop-nova-rpc-zmq-receiver-man-page.patch: Does what it's + named after + +------------------------------------------------------------------- +Tue Apr 1 08:00:17 UTC 2014 - speilicke@suse.com + +- Update to version 2014.1.rc1: + * Fix getting instance events on subsequent attempts + * Make conductor expect ActionEventNotFound for action methods + * Remove zmq-receiver from setup.cfg + * Add a note about deprecated group filters + * Fix the section name in CONTRIBUTING.rst + * Add new style instance group scheduler filters + * Automatically create groups that do not exist + * Add InstanceGroup.get_by_name() + * Add nova.conf.sample to gitignore + * Use binding:vif_details to control firewall + * Disable volume attach/detach for suspended instances + * Updated from global requirements + * Persist image format to a file, to prevent attacks based on changing it + * Imported Translations from Transifex + * postgres incompatibility in InstanceGroup.get_hosts() + * Add missing test for None in sqlalchemy query filter + * Use correct project/user id in conductor.manager + * fix the extension of README in etc/nova + * Tell pip to install packages it sees globally + * Change exception type from HTTPBadRequest to HTTPForbidden + * Don't attempt to fill faults for instance_list if FlavorNotFound + * Fix availability-zone option miss when creates an instance + * Updated Setting up Developer Environment for Ubuntu + * Change libvirt close callback to use green thread + * Re-work how debugger CLI opts are registered + * Imported Translations from Transifex + * VMware: fix booting from volume + * Do not add current tenant to private flavor access + * Disable oslo.messaging debug logs + * Update vm_mode when rebuilding instance with new image + * VMware: fix list_instances for multi-node driver + * VMware: Add utility method to retrieve remote objects + * Refactors unit tests of image service detail() + * Refactors nova.image.glance unit tests for show() + * Revert deprecation warning on Neutron auth + * V2 API: remove unused imports + * Rename _post_live_migration instance_ref arg + * Add a decorator decorator that checks func args + * Updated from global requirements + * Instance groups: cleanup + * Fix inconsistent quota usage for security group + * Fix service API and cells + * Remove unnecessary stubbing in test_services + * VMware: fix exception when no objects are returned + * Don't allow empty or 0 volume size for images + * Wait till message handling is done on service stop + * Fix the rpc module import in the service module + * Revert "VMware Driver update correct disk usage stat" + * Catch HostBinaryNotFound exception in V2 API + * Raise error on nova-api if missing subnets/fixed_ips on networks/port + * Fix the explanations of HTTPNotFound for new APIs + * Remove the nova.config.sample file + * Refuse to block migrate instances with config drive + * Catch NotImplementedError on Network Associate + * VMware: add a file to help config the firewall for vnc + * Change initial delay for servicegroup api reporting + * Fix KeyError if neutron security group is not TCP/UDP/ICMP and no ports + * Prevent rescheduling on block device failure + * Check if nfs/glusterfs export is already mounted + * Make compute API resize methods use Quotas objects + * Remove commented out code in test_cinder_cloud + * Update quantum to neutron in comment + * Add deleted_at attribute in glance stub on delete() + * Add API sample files of "unshelve a server" API + * Remove unused method from fake_network.py + * Don't refresh network cache for instances building or deleting + * GlanceImageService static methods to module scope + * Remove XenAPI driver deprecation warning log message + * VMware: bug fix for host operations when using VMwareVCDriver + * xenapi: boot from volume without image_ref + * Use HTTPRequestV3 instead of HTTPRequest in v3 API tests + * Cells: Send instance object for instance_delete_everywhere + * Fix "computeFault" when v3 API "GET /versions/:(id)" is called + * VMware: ensure that the task completed for resize operation + * Cells API calls return 501 when cells disabled + * Add version 2.0 of conductor rpc interface + * Added missing raise statement when checking the config driver format + * Make NovaObject report changed-ness of its children + * Increase volume creation max waiting time + * VMware: fix rescue disk location when image is not linked clone + * Fix comment for block_migration in nova/virt/libvirt/driver.py + * Don't import library guestfs directly + * Correct inheritance of nova.volume.cinder.API + * VMware: enable booting an ISO with root disk size 0 + * Remove bad log message in get_remote_image_service + * Raise NotImplementedError in NeutronV2 API + * Remove block_device_mapping_destroy() from conductor API + * Make sure instance saves network_info when we go ACTIVE + * Fix sqlalchemy utils test cases for SA 0.9.x + * Fix equal_any() DB API helper + * Remove migration_update() from conductor API + * Remove instance_get() from conductor API + * Remove aggregate_get_by_host() from conductor API + * add support for host driver cleanup during shutdown + * Add security_group_rule to objects registry + * Remove aggregate_get() from conductor API + * Delete meaningless lines in test_server_metadata.py + * Imported Translations from Transifex + * Move log statement to expose actually info_cache value + * Fix input validation for V2 API server group API extension + * Adds test for rebuild in compute api + * Specify spacing on periodic_tasks in manager.py + * network_info cache should be cleared before being rescheduled + * Don't sync [system_]metadata down to cells on instance.save() + * Fixes the Hyper-V agent individual disk metrics + * Fix docstring for shelve_offload_instance in compute manager + * Block database access in nova-network binary + * Make nova-network use conductor for security groups refresh + * Make nova-network use quotas object + * Reverts change to default state_path + * Fix raise_http_conflict_for_instance_invalid_state docstring + * Cells: Pass instance objects to update/delete_instance_metadata + * Don't detach root device volume + * Revert "Adding image multiple location support" + * Revert "Move libvirt RBD utilities to a new file" + * Revert "enable cloning for rbd-backed ephemeral disks" + * Add helper method for injecting data in an image + * Add helper method for checking if VM is booting from a volume + * Libvirt: Repair metadata injection into guests + * Make linux_net use objects for last fixed ip query + * Add get_by_network() to FixedIPList + * Update aggregate should not allow duplicated names + * Recover from REBOOT-* state on compute manager start-up + * VMware: raise an exception for unsupported disk formats + * VMware: ensure that deprecation does not appear for VC driver + * rename ExtensionsResource to ExtensionsController + * Ensure is_image_available handles V2 Glance API + * libvirt: fix blockinfo get_device_name helper + * Log Content-Type/Accept API request info + * Remove the docker driver + * xenapi: Speed up tests by not waiting on conductor + * Updated from global requirements + * xenapi: Fix test_rescue test to ensure assertions are valid + * VMware: image cache aging + * Add py27local tox target + * Fix broken API os-migrations + * Catch FloatingIpNotFoundForHost exception + * Fix get_download_hander() typo + * Handle IpAddressGenerationClient neutron + * Delete ERROR+DELETING VMs during compute startup + * VMware: delete vm snapshot after nova snapshot + * Fix difference between mysql & psql of flavor-show + * Add version 3.0 of scheduler rpc interface + * Make libvirt wait for neutron to confirm plugging before boot + * Task cleanup_running_deleted_instances can now use slave + * Do not add HPET timer config to non x86 targets + * Instance groups: only display valid instances for policy members + * Don't allow reboot when instance in rebooting_hard + * Fix typo and add test for refresh_instance_security_rules + * Add declaration of 'refresh_instance_security_rules' to virt driver + * Remove mention of removed dhcp_options_enabled + * Fix compute_node stats + * Fix: Unshelving an instance uses original image + * Noted that tox is the preferred unit tester + * Use instance object instead of _instance_update() + * Remove compute virtapi BDM methods + * enable cloning for rbd-backed ephemeral disks + * Move libvirt RBD utilities to a new file + * Fixup debug log statements in the nova compute manager + * Use debug level logging during unit tests + * Fix debug message formatting in server_external_events + * VMware: VimException __str__ attempts to concatenate string to list + * Mark ESX driver as deprecated + * Volume operations should be blocked for non-null task state + * xenapi: fix spawn servers with ephemeral disks + * Fixes NoneType vcpu list returned by Libvirt driver + * Add conversion type to LOG.exception's string + * Remove compute API get_instance_bdms method + * Move run_instance compute to BDM objects + * Move live migration callbacks to BDM objects + * Instance groups: validate policy configuration ++++ 2095 more lines (skipped) ++++ between /work/SRC/openSUSE:Factory/openstack-nova/openstack-nova.changes ++++ and /work/SRC/openSUSE:Factory/.openstack-nova.new/openstack-nova.changes Old: ---- 0001-Claim-IPv6-is-unsupported-if-no-interface-with-IPv6-.patch 0001-Fix-for-qemu-nbd-hang.patch 0001-Further-harden-boto-version-checking-in-EC2-tests.patch neutron-performance.patch nova-stable-havana.tar.gz nova-vmware-hypervisor-version.patch suse-cleanup-api-paste.diff New: ---- 0001-Drop-nova-rpc-zmq-receiver-man-page.patch 0001-Start-ping-listener-also-for-postgresql.patch 0001-libvirt-Make-nwfilter-driver-use-right-filterref.patch nova-2014.1.rc1.tar.gz nova.conf.sample ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ openstack-nova-doc.spec ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -17,25 +17,24 @@ %define component nova -%define majorversion 2012.2.3 Name: openstack-%{component}-doc -Version: 2013.2.2.dev46.g2c44ed7+git.1391390228.2c44ed7 +Version: 2014.1.rc1 Release: 0 Summary: OpenStack Compute (Nova) - Documentation License: Apache-2.0 Group: Documentation/HTML Url: http://openstack.org/projects/compute/ -Source: nova-stable-havana.tar.gz +Source: http://tarballs.openstack.org/nova/nova-%{version}.tar.gz BuildRequires: graphviz BuildRequires: openstack-suse-macros +BuildRequires: python-Babel +BuildRequires: python-Cheetah BuildRequires: python-PasteDeploy BuildRequires: python-Sphinx BuildRequires: python-WebOb BuildRequires: python-base BuildRequires: python-boto -BuildRequires: python-d2to1 -BuildRequires: python-distribute BuildRequires: python-eventlet BuildRequires: python-feedparser BuildRequires: python-iso8601 @@ -43,11 +42,12 @@ BuildRequires: python-lxml BuildRequires: python-mox BuildRequires: python-netaddr -BuildRequires: python-oslo.sphinx +BuildRequires: python-oslosphinx BuildRequires: python-paste BuildRequires: python-pbr BuildRequires: python-pyOpenSSL BuildRequires: python-routes +BuildRequires: python-six BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -60,7 +60,7 @@ This package contains documentation files for openstack-nova. %prep -%setup -q -n nova-2013.2.2.dev46.g2c44ed7 +%setup -q -n %{component}-%{version} %openstack_cleanup_prep %build ++++++ openstack-nova.spec ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -18,19 +18,21 @@ %define component nova -%define groupname openstack-%{component} -%define username openstack-%{component} +%define groupname %{component} +%define username %{component} Name: openstack-%{component} -Version: 2013.2.2.dev46.g2c44ed7+git.1391390228.2c44ed7 +Version: 2014.1.rc1 Release: 0 Summary: OpenStack Compute (Nova) License: Apache-2.0 Group: System/Management Url: https://launchpad.net/nova -Source: nova-stable-havana.tar.gz +Source: http://tarballs.openstack.org/nova/nova-%{version}.tar.gz Source1: %{name}.init Source2: %{name}.logrotate +# NOTE(saschpe): Instead of 'tox -e genconfig'. Should stay stable during Icehouse cycle: +Source3: nova.conf.sample Source4: openstack-nova-manage.sh Source6: openstack-nova-vncproxy.init Source8: openstack-nova-network-init-bnc777488.patch @@ -39,7 +41,6 @@ Source10: %name.conf BuildRequires: systemd %endif - Source11: openstack-nova-novncproxy.init Source12: nova-sudoers Source13: openstack-nova-polkit.rules @@ -51,27 +52,22 @@ # https://bugs.launchpad.net/nova/+bug/1202199 # https://review.openstack.org/#/c/37477/ Patch7: 0001-Always-set-model-netfront-for-xen-over-libvirt.patch -# PATCH-FIX-SUSE dmueller@suse.com -- remove deprecated settings from api-paste -Patch8: suse-cleanup-api-paste.diff Patch9: 0001-Robustify-determination-of-root-directory.patch -Patch10: 0001-Claim-IPv6-is-unsupported-if-no-interface-with-IPv6-.patch -# https://review.openstack.org/#/c/34685 -Patch11: nova-vmware-hypervisor-version.patch -Patch12: 0001-Further-harden-boto-version-checking-in-EC2-tests.patch -# Backports of several patches: https://review.openstack.org/#/c/52954/ https://review.openstack.org/#/c/56075/ https://review.openstack.org/#/c/56174/ https://review.openstack.org/#/c/59243/ -Patch30: neutron-performance.patch -Patch31: 0001-Fix-for-qemu-nbd-hang.patch +# PATCH-FIX-UPSTREAM speilicke@suse.com -- https://review.openstack.org/#/c/84383/ +Patch10: 0001-Drop-nova-rpc-zmq-receiver-man-page.patch +Patch11: 0001-libvirt-Make-nwfilter-driver-use-right-filterref.patch +Patch12: 0001-Start-ping-listener-also-for-postgresql.patch BuildRequires: crudini BuildRequires: fdupes BuildRequires: openstack-suse-macros BuildRequires: openstack-suse-sudo BuildRequires: python-base -BuildRequires: python-distribute -BuildRequires: python-oslo.config -BuildRequires: python-oslo.sphinx -BuildRequires: python-pbr +BuildRequires: python-oslo.config >= 1.2.0 +BuildRequires: python-pbr >= 0.6 # Documentation requirements: -BuildRequires: python-Sphinx +BuildRequires: python-Babel >= 1.3 +BuildRequires: python-Sphinx >= 1.1.2 +BuildRequires: python-oslosphinx %if 0%{?suse_version} > 1110 # to make orphaned-file-tests happy BuildRequires: polkit-default-privs @@ -121,27 +117,30 @@ Requires: python-amqplib >= 0.6.1 Requires: python-anyjson >= 0.3.3 Requires: python-argparse -Requires: python-boto >= 2.4.0 +Requires: python-boto >= 2.12.0 Requires: python-cinderclient >= 1.0.6 Requires: python-eventlet >= 0.13.0 Requires: python-glanceclient >= 0.9.0 Requires: python-greenlet >= 0.3.2 -Requires: python-iso8601 >= 0.1.8 -Requires: python-jsonschema >= 1.3.0 -Requires: python-keystoneclient >= 0.3.2 +Requires: python-iso8601 >= 0.1.9 +Requires: python-jsonschema >= 2.0.0 +Requires: python-keystoneclient >= 0.7.0 Requires: python-kombu >= 2.4.8 Requires: python-lxml >= 2.3 Requires: python-netaddr >= 0.7.6 -Requires: python-neutronclient >= 2.3.0 -Requires: python-paramiko >= 1.8.0 -Requires: python-pbr >= 0.5.21 +Requires: python-neutronclient >= 2.3.4 +Requires: python-oslo.messaging >= 1.3.0a9 +Requires: python-oslo.rootwrap +Requires: python-paramiko >= 1.9.0 +Requires: python-pbr >= 0.6 Requires: python-pyasn1 -Requires: python-six >= 1.4.1 -Requires: python-sqlalchemy-migrate >= 0.7.2 -Requires: python-stevedore >= 0.10 +Requires: python-pycadf >= 0.4.1 +Requires: python-six >= 1.5.2 +Requires: python-sqlalchemy-migrate >= 0.8.2 +Requires: python-stevedore >= 0.14 Requires: python-suds >= 0.4 Requires: python-websockify >= 0.5.1 -Requires: python-xml +Requires: python-wsgiref >= 0.1.2 %description -n python-nova This package contains the core Python module of OpenStack Nova. @@ -160,7 +159,8 @@ %package conductor Summary: OpenStack Compute (Nova) - Conductor Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} Requires: python-pyasn1 %description conductor @@ -169,16 +169,17 @@ %package cells Summary: OpenStack Compute (Nova) - Cells Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} %description cells This package contains the Cells support of OpenStack Nova - %package cert Summary: OpenStack Compute (Nova) - Certificate Manager Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} %description cert This package contains the certificate manager of OpenStack Nova. @@ -186,7 +187,8 @@ %package console Summary: Openstack Compute (Nova) - Console Access Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} %description console This package contains the console access service for OpenStack Nova. @@ -194,7 +196,8 @@ %package consoleauth Summary: Openstack Compute (Nova) - Console Authentification Service Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} %description consoleauth This package contains the console authentification service for OpenStack Nova. @@ -220,7 +223,8 @@ %package network Summary: OpenStack Compute (Nova) - Network Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} Requires: dnsmasq %if 0%{?suse_version} > 1230 Requires: dnsmasq-utils @@ -233,7 +237,8 @@ %package novncproxy Summary: OpenStack Compute (Nova) - Websocket Proxy Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} Requires: novnc %description novncproxy @@ -242,7 +247,8 @@ %package objectstore Summary: OpenStack Compute (Nova) - Object Store Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} %description objectstore This package contains the objectstore service for OpenStack. @@ -250,7 +256,8 @@ %package scheduler Summary: OpenStack Compute (Nova) - Scheduler Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} %description scheduler This package contains the scheduler for OpenStack. @@ -258,7 +265,8 @@ %package vncproxy Summary: OpenStack Compute (Nova) - VNC Proxy Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} %description vncproxy This package contains the vnc-proxy service for OpenStack. @@ -266,7 +274,8 @@ %package -n openstack-xen-plugins Summary: OpenStack Compute (Nova) - XenAPI support Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} %description -n openstack-xen-plugins This package contains the XenAPI support for OpenStack. @@ -274,42 +283,37 @@ %package test Summary: OpenStack Compute (Nova) - Testsuite Group: System/Management -Requires: %{name} = %{version} +# prereq for creating the right openstack-nova user/group +PreReq: %{name} = %{version} Requires: curl +Requires: openstack-xen-plugins = %{version} Requires: python-cinderclient >= 1.0.6 -Requires: python-coverage >= 3.6 %if 0%{?suse_version} && 0%{?suse_version} <= 1110 Requires: python-discover %endif Requires: python-feedparser Requires: python-fixtures >= 0.3.14 -Requires: python-flake8 >= 2.0 -Requires: python-hacking >= 0.5.6 Requires: python-mock >= 1.0 Requires: python-mox >= 0.5.3 -Requires: python-pep8 >= 1.4.5 Requires: python-psycopg2 -Requires: python-pyflakes >= 0.7.2 -Requires: python-python-subunit -Requires: python-testrepository >= 0.0.17 -Requires: python-testtools >= 0.9.32 +Requires: python-python-subunit >= 0.0.18 +Requires: python-testrepository >= 0.0.18 +Requires: python-testtools >= 0.9.34 %description test The OpenStack Nova testsuite. It is used to verify the functionality of OpenStack Nova and its components. %prep -%setup -q -n nova-2013.2.2.dev46.g2c44ed7 +%setup -q -n %{component}-%{version} +cp %{SOURCE3} etc/nova %patch1 -p1 %patch2 -p1 %patch7 -p1 -%patch8 %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 -%patch30 -p1 -%patch31 -p1 +%patch12 %openstack_cleanup_prep %build @@ -327,8 +331,8 @@ install -d -m 755 %{buildroot}%{_localstatedir}/lib/nova/networks install -d -m 755 %{buildroot}%{_localstatedir}/lib/nova/tmp install -d -m 755 %{buildroot}%{_localstatedir}/log/nova +install -d -m 700 %{buildroot}%{_localstatedir}/run/nova install -d -m 700 %{buildroot}%{_localstatedir}/cache/nova -install -d -m 700 %{buildroot}%{_localstatedir}/run/%{component} %if 0%{?suse_version} > 1230 install -D -m 644 %{SOURCE10} %{buildroot}/%_tmpfilesdir/%name.conf %endif @@ -337,6 +341,11 @@ install -p -D -m 600 etc/nova/nova.conf.sample %{buildroot}%{_sysconfdir}/nova/nova.conf install -p -D -m 600 etc/nova/api-paste.ini etc/nova/policy.json %{buildroot}%{_sysconfdir}/nova/ install -p -D -m 644 etc/nova/rootwrap.conf %{buildroot}%{_sysconfdir}/nova/ +install -p -D -m 600 etc/nova/release.sample %{buildroot}%{_sysconfdir}/nova/release +sed -i -e "s,vendor = .*,vendor = %{distribution}," \ + -e "s,product = .*,product = OpenStack Nova," \ + -e "s,package = .*,package = %{version}," %{buildroot}%{_sysconfdir}/nova/release + cp -a etc/nova/rootwrap.d/ %{buildroot}%{_sysconfdir}/nova/ # bash-completion/logrotate/etc. install -p -D -m 644 %{SOURCE4} %{buildroot}%{_sysconfdir}/bash_completion.d/openstack-nova-manage.sh @@ -344,7 +353,7 @@ ### init scripts mkdir -p %{buildroot}%{_sbindir} -for i in api cert cells compute conductor console consoleauth spicehtml5proxy network objectstore rpc-zmq-receiver scheduler ; do +for i in api cert cells compute baremetal-deploy-helper conductor console consoleauth spicehtml5proxy network objectstore scheduler ; do tmp=$(mktemp) cat %{SOURCE1} | sed "s/__NAME__/$i/g" > $tmp if [ "x$i" = "xcompute" ] ; then @@ -373,7 +382,6 @@ # needed by api_samples test mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}-test/doc cp -r --preserve=timestamps doc/api_samples doc/v3 %{buildroot}%{_localstatedir}/lib/%{name}-test/doc/ -cp -r --preserve=timestamps plugins %{buildroot}%{_localstatedir}/lib/%{name}-test/ mkdir -p %{buildroot}%{_localstatedir}/lib/%{name}-test/plugins/xenserver/xenapi/etc/ ln -sf /etc/xapi.d %{buildroot}%{_localstatedir}/lib/%{name}-test/plugins/xenserver/xenapi/etc/xapi.d %fdupes %{buildroot}%{_localstatedir}/lib/%{name}-test @@ -395,7 +403,6 @@ ### set default configuration (mostly applies to package-only setups and quickstart, i.e. not generally crowbar) %define nova_conf %{buildroot}%{_sysconfdir}/nova/nova.conf crudini --set %{nova_conf} DEFAULT verbose True -crudini --set %{nova_conf} DEFAULT log_file nova.log crudini --set %{nova_conf} DEFAULT log_dir /var/log/nova crudini --set %{nova_conf} DEFAULT connection_type libvirt crudini --set %{nova_conf} DEFAULT compute_driver libvirt.LibvirtDriver @@ -406,38 +413,25 @@ crudini --set %{nova_conf} DEFAULT neutron_admin_username neutron crudini --set %{nova_conf} DEFAULT neutron_admin_password '%%SERVICE_PASSWORD%%' crudini --set %{nova_conf} DEFAULT neutron_admin_tenant_name '%%SERVICE_TENANT_NAME%%' -crudini --set %{nova_conf} DEFAULT libvirt_vif_driver nova.virt.libvirt.vif.LibvirtGenericVIFDriver crudini --set %{nova_conf} DEFAULT state_path /var/lib/nova crudini --set %{nova_conf} DEFAULT lock_path %{_localstatedir}/run/nova crudini --set %{nova_conf} DEFAULT service_neutron_metadata_proxy True crudini --set %{nova_conf} DEFAULT security_group_api neutron +crudini --set %{nova_conf} osapi_v3 enabled true #NOTE(saschpe): Do we want to use sqlite per default or demand PostgreSQL right away? crudini --set %{nova_conf} sql connection sqlite:////var/lib/nova/nova.db crudini --set %{nova_conf} keystone_authtoken signing_dir /var/cache/%component/keystone-signing %pre # need a fixed uid/gid for being able to use shared storage over NFS -getent group %{groupname} >/dev/null || groupadd -g 96 %{groupname} -getent passwd %{username} >/dev/null || \ -useradd -M -u 96 -s /bin/bash -g %{groupname} -d %{_localstatedir}/lib/nova -c "OpenStack Nova Daemons" %{username} -exit 0 - -%post -%{fillup_and_insserv -f openstack-nova-rpc-zmq-receiver} - -%preun -%stop_on_removal openstack-nova-rpc-zmq-receiver +%openstack_pre_user_group_create -u 96 -g 96 -s /bin/bash %{username} %{groupname} -%postun -%restart_on_update openstack-nova-rpc-zmq-receiver -%insserv_cleanup +%preun api +%stop_on_removal openstack-nova-api %post api %{fillup_and_insserv -f openstack-nova-api} -%preun api -%stop_on_removal openstack-nova-api - %postun api %restart_on_update openstack-nova-api %insserv_cleanup @@ -445,6 +439,9 @@ %preun conductor %stop_on_removal openstack-nova-conductor +%post conductor +%{fillup_and_insserv -f openstack-nova-conductor} + %postun conductor %restart_on_update openstack-nova-conductor %insserv_cleanup @@ -453,46 +450,46 @@ %stop_on_removal openstack-nova-console %stop_on_removal openstack-nova-spicehtml5proxy +%post console +%{fillup_and_insserv -f openstack-nova-console} +%{fillup_and_insserv -f openstack-nova-spicehtml5proxy} + %postun console %restart_on_update openstack-nova-console %restart_on_update openstack-nova-spicehtml5proxy %insserv_cleanup -%post console -%{fillup_and_insserv -f openstack-nova-console} -%{fillup_and_insserv -f openstack-nova-spicehtml5proxy} - %preun consoleauth %stop_on_removal openstack-nova-consoleauth +%post consoleauth +%{fillup_and_insserv -f openstack-nova-consoleauth} + %postun consoleauth %restart_on_update openstack-nova-consoleauth %insserv_cleanup -%post consoleauth -%{fillup_and_insserv -f openstack-nova-consoleauth} - %preun cells %stop_on_removal openstack-nova-cells +%post cert +%{fillup_and_insserv -f openstack-nova-cert} + %postun cells %restart_on_update openstack-nova-cells %insserv_cleanup -%post cert -%{fillup_and_insserv -f openstack-nova-cert} - %preun cert %stop_on_removal openstack-nova-cert -%postun cert -%restart_on_update openstack-nova-cert -%insserv_cleanup - %post compute polkit-auth --grant org.libvirt.unix.manage --user %{username} 2>/dev/null || true %{fillup_and_insserv -f openstack-nova-compute} +%postun cert +%restart_on_update openstack-nova-cert +%insserv_cleanup + %preun compute %stop_on_removal openstack-nova-compute @@ -562,6 +559,7 @@ %config(noreplace) %attr(0640, root, %{groupname}) %{_sysconfdir}/nova/nova.conf %config %attr(0640, root, %{groupname}) %{_sysconfdir}/nova/policy.json %config %{_sysconfdir}/nova/rootwrap.conf +%config %{_sysconfdir}/nova/release %dir %{_sysconfdir}/nova/rootwrap.d %dir %attr(0755, %{username}, %{groupname}) %{_localstatedir}/lib/nova %dir %attr(0755, %{username}, %{groupname}) %{_localstatedir}/log/nova @@ -571,6 +569,7 @@ %else %dir %attr(0700, %{username}, %{groupname}) %{_localstatedir}/run/%{component} %endif +%ghost %dir %attr(0750, %{username}, %{groupname}) %{_localstatedir}/run/nova %{_bindir}/nova-all %{_bindir}/nova-clear-rabbit-queues %{_bindir}/nova-manage @@ -584,12 +583,6 @@ %dir %attr(0755, root, root) %{_localstatedir}/lib/nova/networks %dir %attr(0755, root, root) %{_localstatedir}/lib/nova/tmp -# FIXME: which package should these go in? -%{_initddir}/%{name}-rpc-zmq-receiver -%{_sbindir}/rc%{name}-rpc-zmq-receiver -%{_bindir}/nova-rpc-zmq-receiver -%{_mandir}/man1/nova-rpc-zmq-receiver.1%{?ext_man} - %files -n python-nova %defattr(-,root,root,-) %doc LICENSE @@ -640,11 +633,12 @@ %defattr(-,root,root,-) %doc LICENSE %config %{_sysconfdir}/nova/rootwrap.d/compute.filters -%config %{_sysconfdir}/nova/rootwrap.d/docker.filters %config %{_sysconfdir}/nova/rootwrap.d/baremetal-compute-ipmi.filters %config %{_sysconfdir}/nova/rootwrap.d/baremetal-deploy-helper.filters %{_initddir}/%{name}-compute +%{_initddir}/%{name}-baremetal-deploy-helper %{_sbindir}/rc%{name}-compute +%{_sbindir}/rc%{name}-baremetal-deploy-helper %{_bindir}/nova-compute %{_bindir}/nova-baremetal-manage %{_bindir}/nova-baremetal-deploy-helper ++++++ 0001-Always-set-model-netfront-for-xen-over-libvirt.patch ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -17,11 +17,11 @@ nova/virt/libvirt/vif.py | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) -diff --git a/nova/tests/virt/libvirt/test_libvirt_vif.py b/nova/tests/virt/libvirt/test_libvirt_vif.py -index a1df6c7..f6e48d9 100644 ---- a/nova/tests/virt/libvirt/test_libvirt_vif.py -+++ b/nova/tests/virt/libvirt/test_libvirt_vif.py -@@ -360,7 +360,7 @@ def test_model_xen(self): +Index: nova-2014.1.dev330.g2efd3fa/nova/tests/virt/libvirt/test_libvirt_vif.py +=================================================================== +--- nova-2014.1.dev330.g2efd3fa.orig/nova/tests/virt/libvirt/test_libvirt_vif.py ++++ nova-2014.1.dev330.g2efd3fa/nova/tests/virt/libvirt/test_libvirt_vif.py +@@ -432,7 +432,7 @@ class LibvirtVifTestCase(test.TestCase): d = vif.LibvirtGenericVIFDriver(self._get_conn("xen:///system")) xml = self._get_instance_xml(d, self.vif_bridge) @@ -30,11 +30,11 @@ def test_generic_driver_none(self): d = vif.LibvirtGenericVIFDriver(self._get_conn()) -diff --git a/nova/virt/libvirt/vif.py b/nova/virt/libvirt/vif.py -index 047d1ac..8f34f61 100644 ---- a/nova/virt/libvirt/vif.py -+++ b/nova/virt/libvirt/vif.py -@@ -105,9 +105,15 @@ def get_config(self, instance, vif, image_meta, inst_type): +Index: nova-2014.1.dev330.g2efd3fa/nova/virt/libvirt/vif.py +=================================================================== +--- nova-2014.1.dev330.g2efd3fa.orig/nova/virt/libvirt/vif.py ++++ nova-2014.1.dev330.g2efd3fa/nova/virt/libvirt/vif.py +@@ -100,9 +100,15 @@ class LibvirtBaseVIFDriver(object): model = None driver = None @@ -42,7 +42,7 @@ + # drives as emulated ones will not work (xen suffixes them + # with -emu which makes interface name too long). Additionaly + # security groups will also not work for -emu suffixed interfaces. -+ if CONF.libvirt_type == "xen": ++ if CONF.libvirt.virt_type == "xen": + model = "netfront" # If the user has specified a 'vif_model' against the # image then honour that model @@ -51,6 +51,3 @@ vif_model = image_meta.get('properties', {}).get('hw_vif_model') if vif_model is not None: --- -1.8.4.474.g128a96c - ++++++ 0001-Drop-nova-rpc-zmq-receiver-man-page.patch ++++++
From 90a61d71cd8ecb71129508805062ec6fc8a44556 Mon Sep 17 00:00:00 2001 From: Sascha Peilicke <saschpe@mailbox.org> Date: Tue, 1 Apr 2014 11:05:51 +0200 Subject: [PATCH] Drop nova-rpc-zmq-receiver man-page
Doesn't make sense to install and build docs after it was removed. Change-Id: Ia6193808cca625e83cb3497b5033db5c08dcdd1e --- doc/source/conf.py | 2 -- doc/source/man/nova-rpc-zmq-receiver.rst | 47 -------------------------------- 2 files changed, 49 deletions(-) delete mode 100644 doc/source/man/nova-rpc-zmq-receiver.rst diff --git a/doc/source/conf.py b/doc/source/conf.py index 0ae450f..83723a2 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -152,8 +152,6 @@ man_pages = [ [u'OpenStack'], 1), ('man/nova-rootwrap', 'nova-rootwrap', u'Cloud controller fabric', [u'OpenStack'], 1), - ('man/nova-rpc-zmq-receiver', 'nova-rpc-zmq-receiver', u'Cloud controller fabric', - [u'OpenStack'], 1), ('man/nova-scheduler', 'nova-scheduler', u'Cloud controller fabric', [u'OpenStack'], 1), ('man/nova-xvpvncproxy', 'nova-xvpvncproxy', u'Cloud controller fabric', diff --git a/doc/source/man/nova-rpc-zmq-receiver.rst b/doc/source/man/nova-rpc-zmq-receiver.rst deleted file mode 100644 index f1d3545..0000000 --- a/doc/source/man/nova-rpc-zmq-receiver.rst +++ /dev/null @@ -1,47 +0,0 @@ -======================= -nova-rpc-zmq-receiver -======================= - ------------------------------------ -Receiver for 0MQ based nova RPC ------------------------------------ - -:Author: openstack@lists.openstack.org -:Date: 2012-09-27 -:Copyright: OpenStack Foundation -:Version: 2012.1 -:Manual section: 1 -:Manual group: cloud computing - -SYNOPSIS -======== - - nova-rpc-zmq-receiver [options] - -DESCRIPTION -=========== - -The nova-rpc-zmq-receiver is a daemon which receives messages from remote -systems on behalf of the ZeroMQ-based rpc backend (nova.rpc.impl_zmq). -Messages are pulled by individual services from the message receiver daemon -in round-robin or fanout mode, depending on the queue type. - -OPTIONS -======= - - **General options** - -FILES -======== - -* /etc/nova/nova.conf - -SEE ALSO -======== - -* `OpenStack Nova <http://nova.openstack.org>`__ - -BUGS -==== - -* Nova bugs are managed at Launchpad `Bugs : Nova <https://bugs.launchpad.net/nova>`__ -- 1.9.1 ++++++ 0001-Robustify-determination-of-root-directory.patch ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -14,11 +14,11 @@ nova/tests/virt/xenapi/test_xenapi.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) -Index: nova-2013.2.2.dev24.g05dfdb9/nova/tests/virt/xenapi/test_xenapi.py +Index: nova-2014.1.dev964.ge19b294/nova/tests/virt/xenapi/test_xenapi.py =================================================================== ---- nova-2013.2.2.dev24.g05dfdb9.orig/nova/tests/virt/xenapi/test_xenapi.py -+++ nova-2013.2.2.dev24.g05dfdb9/nova/tests/virt/xenapi/test_xenapi.py -@@ -4011,16 +4011,17 @@ class XenAPISessionTestCase(test.NoDBTes +--- nova-2014.1.dev964.ge19b294.orig/nova/tests/virt/xenapi/test_xenapi.py ++++ nova-2014.1.dev964.ge19b294/nova/tests/virt/xenapi/test_xenapi.py +@@ -3997,16 +3997,17 @@ class XenAPISessionTestCase(test.NoDBTes def test_verify_current_version_matches(self): session = self._get_mock_xapisession({}) @@ -42,4 +42,4 @@ + with open(XENPLUGIN) as plugin_file: for line in plugin_file: if "PLUGIN_VERSION = " in line: - print line + plugin_version = line.strip()[17:].strip('"') ++++++ 0001-Start-ping-listener-also-for-postgresql.patch ++++++ --- nova/openstack/common/db/sqlalchemy/session.py +++ nova/openstack/common/db/sqlalchemy/session.py @@ -488,7 +488,7 @@ def _ping_listener(engine, dbapi_conn, connection_rec, connection_proxy): - """Ensures that MySQL and DB2 connections are alive. + """Ensures that MySQL, PostgreSQL or DB2 connections are alive. Borrowed from: http://groups.google.com/group/sqlalchemy/msg/a4ce563d802c929f @@ -504,6 +504,15 @@ if engine.dialect.is_disconnect(ex, dbapi_conn, cursor): msg = _LW('Database server has gone away: %s') % ex LOG.warning(msg) + + # if the database server has gone away, all connections in the pool + # have become invalid and we can safely close all of them here, + # rather than waste time on checking of every single connection + engine.dispose() + + # this will be handled by SQLAlchemy and will force it to create + # a new connection and retry the original action + raise sqla_exc.DisconnectionError(msg) else: raise @@ -625,7 +634,7 @@ sqlalchemy.event.listen(engine, 'checkin', _thread_yield) - if engine.name in ['mysql', 'ibm_db_sa']: + if engine.name in ('ibm_db_sa', 'mysql', 'postgresql'): ping_callback = functools.partial(_ping_listener, engine) sqlalchemy.event.listen(engine, 'checkout', ping_callback) if engine.name == 'mysql': ++++++ 0001-libvirt-Make-nwfilter-driver-use-right-filterref.patch ++++++
From 62ee91973a6cda9bcbdb0012ba98f580a154abff Mon Sep 17 00:00:00 2001 From: Ryota MIBU <r-mibu@cq.jp.nec.com> Date: Fri, 7 Mar 2014 17:08:11 +0900 Subject: [PATCH] libvirt: Make nwfilter driver use right filterref
This fixes Bug #1220856 which occurs with Libvirt NWFilterFirewall Driver. While creating a VM with multiple NICs including one connects to DHCP serving network and another to DHCP non-serving network, NWFilterFirewall Driver will use the same base filter that allows DHCP for all NICs. This leads a libvirt launch error due to lack of 'dhcp_server' parameter which is needed to define allow-DHCP filters. This patch makes NWFilterFirewall Driver use right base filter for each NIC depends on 'dhcp_server' config. Closes-bug: #1220856 Change-Id: I7f9a7c281f152985478b2ec295f0644ba475fd76 --- nova/tests/virt/libvirt/test_libvirt.py | 38 +++++++++++++++++++++++++++++++++ nova/virt/libvirt/firewall.py | 15 ++++++------- 2 files changed, 44 insertions(+), 9 deletions(-) diff --git a/nova/tests/virt/libvirt/test_libvirt.py b/nova/tests/virt/libvirt/test_libvirt.py index 982fcaa..09684fc 100644 --- a/nova/tests/virt/libvirt/test_libvirt.py +++ b/nova/tests/virt/libvirt/test_libvirt.py @@ -7467,6 +7467,44 @@ class NWFilterTestCase(test.TestCase): db.instance_destroy(admin_ctxt, instance_ref['uuid']) + def test_multinic_base_filter_selection(self): + fakefilter = NWFilterFakes() + self.fw._conn.nwfilterDefineXML = fakefilter.filterDefineXMLMock + self.fw._conn.nwfilterLookupByName = fakefilter.nwfilterLookupByName + + instance_ref = self._create_instance() + inst_id = instance_ref['id'] + inst_uuid = instance_ref['uuid'] + + self.security_group = self.setup_and_return_security_group() + + db.instance_add_security_group(self.context, inst_uuid, + self.security_group['id']) + + instance = db.instance_get(self.context, inst_id) + + network_info = _fake_network_info(self.stubs, 2) + network_info[0]['network']['subnets'][0]['meta']['dhcp_server'] = \ + '1.1.1.1' + + self.fw.setup_basic_filtering(instance, network_info) + + def assert_filterref(instance, vif, expected=[]): + nic_id = vif['address'].replace(':', '') + filter_name = self.fw._instance_filter_name(instance, nic_id) + f = fakefilter.nwfilterLookupByName(filter_name) + tree = etree.fromstring(f.xml) + frefs = [fr.get('filter') for fr in tree.findall('filterref')] + self.assertTrue(set(expected) == set(frefs)) + + assert_filterref(instance, network_info[0], expected=['nova-base']) + assert_filterref(instance, network_info[1], expected=['nova-nodhcp']) + + db.instance_remove_security_group(self.context, inst_uuid, + self.security_group['id']) + self.teardown_security_group() + db.instance_destroy(context.get_admin_context(), instance_ref['uuid']) + class LibvirtUtilsTestCase(test.TestCase): def test_create_image(self): diff --git a/nova/virt/libvirt/firewall.py b/nova/virt/libvirt/firewall.py index 24f5f8f..e064544 100644 --- a/nova/virt/libvirt/firewall.py +++ b/nova/virt/libvirt/firewall.py @@ -112,20 +112,17 @@ class NWFilterFirewall(base_firewall.FirewallDriver): LOG.info(_('Ensuring static filters'), instance=instance) self._ensure_static_filters() - allow_dhcp = False + nodhcp_base_filter = self.get_base_filter_list(instance, False) + dhcp_base_filter = self.get_base_filter_list(instance, True) + for vif in network_info: - if not vif['network'] or not vif['network']['subnets']: - continue + _base_filter = nodhcp_base_filter for subnet in vif['network']['subnets']: if subnet.get_meta('dhcp_server'): - allow_dhcp = True + _base_filter = dhcp_base_filter break - - base_filter = self.get_base_filter_list(instance, allow_dhcp) - - for vif in network_info: self._define_filter(self._get_instance_filter_xml(instance, - base_filter, + _base_filter, vif)) def _get_instance_filter_parameters(self, vif): -- 1.9.0 ++++++ _service ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -1,9 +1,12 @@ <services> - <service name="git_tarballs" mode="disabled"> - <param name="url">http://tarballs.openstack.org/nova/nova-stable-havana.tar.gz</param> - <param name="email">opensuse-cloud@opensuse.org</param> + <service mode="disabled" name="download_files"> + <param name="changesgenerate">enable</param> + </service> + <service mode="disabled" name="set_version"> + <param name="basename">nova</param> + </service> + <service mode="disabled" name="python_requires"> </service> - <service name="refresh_patches" mode="disabled"> <param name="changesgenerate">enable</param> </service> ++++++ nova-conf-defaults.patch ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -1,17 +1,24 @@ -Index: nova-2013.2.a71.g4e842e3/etc/nova/nova.conf.sample -=================================================================== ---- nova-2013.2.a71.g4e842e3.orig/etc/nova/nova.conf.sample -+++ nova-2013.2.a71.g4e842e3/etc/nova/nova.conf.sample -@@ -56,7 +56,7 @@ +--- a/etc/nova/nova.conf.sample ++++ b/etc/nova/nova.conf.sample +@@ -76,7 +76,7 @@ + + # The RabbitMQ broker address where a single node is used. + # (string value) +-#rabbit_host=localhost ++rabbit_host=localhost + + # The RabbitMQ broker port where a single node is used. + # (integer value) +@@ -250,7 +250,7 @@ # - # ip address of this host (string value) + # IP address of this host (string value) -#my_ip=10.0.0.1 +my_ip=10.0.0.1 # Name of this node. This can be an opaque identifier. It is # not necessarily a hostname, FQDN, or IP address. However, -@@ -93,11 +93,11 @@ +@@ -295,11 +295,11 @@ #pybasedir=/usr/lib/python/site-packages # Directory where nova binaries are installed (string value) @@ -21,11 +28,11 @@ # Top-level directory for maintaining nova's state (string # value) -#state_path=$pybasedir -+state_path=$pybasedir ++state_path=/var/lib/nova # -@@ -317,7 +317,7 @@ +@@ -541,7 +541,7 @@ # The strategy to use for auth: noauth or keystone. (string # value) @@ -34,7 +41,7 @@ # Treat X-Forwarded-For as the canonical remote address. Only # enable this if you have a sanitizing proxy. (boolean value) -@@ -395,7 +395,7 @@ +@@ -619,7 +619,7 @@ # Set flag to indicate Neutron will proxy metadata requests # and resolve instance ids. (boolean value) @@ -43,16 +50,16 @@ # Shared secret to validate proxies Neutron metadata requests # (string value) -@@ -944,7 +944,7 @@ +@@ -1164,7 +1164,7 @@ - # hostname or ip for OpenStack to use when accessing the s3 + # Hostname or IP for OpenStack to use when accessing the S3 # api (string value) -#s3_host=$my_ip +s3_host=$my_ip - # port used when accessing the s3 api (integer value) + # Port used when accessing the S3 api (integer value) #s3_port=3333 -@@ -977,7 +977,7 @@ +@@ -1197,7 +1197,7 @@ # The full class name of the network API class to use (string # value) @@ -61,7 +68,7 @@ # -@@ -1172,7 +1172,7 @@ +@@ -1401,7 +1401,7 @@ #vpn_start=1000 # Number of addresses in each private subnet (integer value) @@ -70,39 +77,39 @@ # Fixed IPv6 address block (string value) #fixed_range_v6=fd00::/48 -@@ -1238,7 +1238,7 @@ +@@ -1463,7 +1463,7 @@ # # URL for connecting to neutron (string value) -#neutron_url=http://127.0.0.1:9696 +neutron_url=http://127.0.0.1:9696 - # timeout value for connecting to neutron in seconds (integer + # Timeout value for connecting to neutron in seconds (integer # value) -@@ -1246,11 +1246,11 @@ +@@ -1471,11 +1471,11 @@ - # username for connecting to neutron in admin context (string + # Username for connecting to neutron in admin context (string # value) -#neutron_admin_username=<None> +neutron_admin_username=<None> - # password for connecting to neutron in admin context (string + # Password for connecting to neutron in admin context (string # value) -#neutron_admin_password=<None> +neutron_admin_password=<None> - # tenant name for connecting to neutron in admin context - # (string value) -@@ -1269,7 +1269,7 @@ + # Tenant id for connecting to neutron in admin context (string + # value) +@@ -1500,7 +1500,7 @@ - # auth strategy for connecting to neutron in admin context - # (string value) + # Authorization strategy for connecting to neutron in admin + # context (string value) -#neutron_auth_strategy=keystone +neutron_auth_strategy=keystone # Name of Integration Bridge used by Open vSwitch (string # value) -@@ -1305,7 +1305,7 @@ +@@ -1533,7 +1533,7 @@ # # The full class name of the security API class (string value) @@ -111,7 +118,7 @@ # -@@ -1356,7 +1356,7 @@ +@@ -1573,7 +1573,7 @@ #disable_process_locking=false # Directory to use for lock files. (string value) @@ -120,7 +127,7 @@ # -@@ -1369,7 +1369,7 @@ +@@ -1586,7 +1586,7 @@ # Print more verbose output (set logging level to INFO instead # of default WARNING level). (boolean value) @@ -129,25 +136,7 @@ # Log output to standard error (boolean value) #use_stderr=true -@@ -1431,7 +1431,7 @@ - - # (Optional) The base directory used for relative --log-file - # paths (string value) --#log_dir=<None> -+log_dir=<None> - - # Use syslog for logging. (boolean value) - #use_syslog=false -@@ -1548,7 +1548,7 @@ - - # The RabbitMQ broker address where a single node is used - # (string value) --#rabbit_host=localhost -+rabbit_host=localhost - - # The RabbitMQ broker port where a single node is used - # (integer value) -@@ -1916,7 +1916,7 @@ +@@ -1948,7 +1948,7 @@ # fake.FakeDriver, baremetal.BareMetalDriver, # vmwareapi.VMwareESXDriver, vmwareapi.VMwareVCDriver (string # value) @@ -156,12 +145,3 @@ # The default format an ephemeral_volume will be formatted # with on creation. (string value) -@@ -2008,7 +2008,7 @@ - #snapshot_image_format=<None> - - # The libvirt VIF driver to configure the VIFs. (string value) --#libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver -+libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtGenericVIFDriver - - # Libvirt handlers for remote volumes. (list value) - #libvirt_volume_drivers=iscsi=nova.virt.libvirt.volume.LibvirtISCSIVolumeDriver,iser=nova.virt.libvirt.volume.LibvirtISERVolumeDriver,local=nova.virt.libvirt.volume.LibvirtVolumeDriver,fake=nova.virt.libvirt.volume.LibvirtFakeVolumeDriver,rbd=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,sheepdog=nova.virt.libvirt.volume.LibvirtNetVolumeDriver,nfs=nova.virt.libvirt.volume.LibvirtNFSVolumeDriver,aoe=nova.virt.libvirt.volume.LibvirtAOEVolumeDriver,glusterfs=nova.virt.libvirt.volume.LibvirtGlusterfsVolumeDriver,fibre_channel=nova.virt.libvirt.volume.LibvirtFibreChannelVolumeDriver,scality=nova.virt.libvirt.volume.LibvirtScalityVolumeDriver ++++++ nova-network-filter-bnc777488.patch ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -1,8 +1,8 @@ -Index: nova-2013.2.a2699.g7b77052/nova/network/linux_net.py +Index: nova-2014.1.dev330.g2efd3fa/nova/network/linux_net.py =================================================================== ---- nova-2013.2.a2699.g7b77052.orig/nova/network/linux_net.py -+++ nova-2013.2.a2699.g7b77052/nova/network/linux_net.py -@@ -351,6 +351,9 @@ class IptablesManager(object): +--- nova-2014.1.dev330.g2efd3fa.orig/nova/network/linux_net.py ++++ nova-2014.1.dev330.g2efd3fa/nova/network/linux_net.py +@@ -358,6 +358,9 @@ class IptablesManager(object): # among the various nova components. It sits at the very top # of FORWARD and OUTPUT. for tables in [self.ipv4, self.ipv6]: @@ -12,11 +12,11 @@ tables['filter'].add_chain('nova-filter-top', wrap=False) tables['filter'].add_rule('FORWARD', '-j nova-filter-top', wrap=False, top=True) -Index: nova-2013.2.a2699.g7b77052/nova/tests/test_iptables_network.py +Index: nova-2014.1.dev330.g2efd3fa/nova/tests/test_iptables_network.py =================================================================== ---- nova-2013.2.a2699.g7b77052.orig/nova/tests/test_iptables_network.py -+++ nova-2013.2.a2699.g7b77052/nova/tests/test_iptables_network.py -@@ -37,6 +37,8 @@ class IptablesManagerTestCase(test.TestC +--- nova-2014.1.dev330.g2efd3fa.orig/nova/tests/test_iptables_network.py ++++ nova-2014.1.dev330.g2efd3fa/nova/tests/test_iptables_network.py +@@ -35,6 +35,8 @@ class IptablesManagerTestCase(test.NoDBT ':%s-local - [0:0]' % (binary_name), ':%s-OUTPUT - [0:0]' % (binary_name), ':nova-filter-top - [0:0]', @@ -25,7 +25,7 @@ '[0:0] -A FORWARD -j nova-filter-top', '[0:0] -A OUTPUT -j nova-filter-top', '[0:0] -A nova-filter-top -j %s-local' % (binary_name), -@@ -211,7 +213,15 @@ class IptablesManagerTestCase(test.TestC +@@ -209,7 +211,15 @@ class IptablesManagerTestCase(test.NoDBT "Duplicate line: %s" % line) seen_lines.add(line) @@ -42,7 +42,7 @@ for line in new_lines: if line.startswith('[0:0] -A %s' % chain): self.assertTrue('-j nova-filter-top' in line, -@@ -250,7 +260,7 @@ class IptablesManagerTestCase(test.TestC +@@ -248,7 +258,7 @@ class IptablesManagerTestCase(test.NoDBT def test_iptables_top_order(self): # Test iptables_top_regex current_lines = list(self.sample_filter) @@ -51,7 +51,7 @@ self.flags(iptables_top_regex='-j iptables-top-rule') new_lines = self.manager._modify_rules(current_lines, self.manager.ipv4['filter'], -@@ -260,7 +270,7 @@ class IptablesManagerTestCase(test.TestC +@@ -258,7 +268,7 @@ class IptablesManagerTestCase(test.NoDBT def test_iptables_bottom_order(self): # Test iptables_bottom_regex current_lines = list(self.sample_filter) @@ -60,7 +60,7 @@ self.flags(iptables_bottom_regex='-j iptables-bottom-rule') new_lines = self.manager._modify_rules(current_lines, self.manager.ipv4['filter'], -@@ -270,8 +280,8 @@ class IptablesManagerTestCase(test.TestC +@@ -268,8 +278,8 @@ class IptablesManagerTestCase(test.NoDBT def test_iptables_preserve_order(self): # Test both iptables_top_regex and iptables_bottom_regex current_lines = list(self.sample_filter) ++++++ nova-sudoers ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -1 +1 @@ -openstack-nova ALL = (root) NOPASSWD: /usr/bin/nova-rootwrap /etc/nova/rootwrap.conf * +nova ALL = (root) NOPASSWD: /usr/bin/nova-rootwrap /etc/nova/rootwrap.conf * ++++++ nova.conf.sample ++++++ ++++ 3678 lines (skipped) ++++++ openstack-nova-network-init-bnc777488.patch ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -1,6 +1,6 @@ --- openstack-nova-network +++ openstack-nova-network -@@ -24,6 +24,27 @@ +@@ -22,6 +22,27 @@ . /etc/rc.status @@ -28,7 +28,7 @@ case "$1" in start) if [ "$DAEMON" == "api" ]; then -@@ -34,6 +55,7 @@ +@@ -31,6 +52,7 @@ fi echo -n "Starting nova-$DAEMON" @@ -36,7 +36,7 @@ /sbin/startproc -q -s -u $USER /usr/bin/nova-$DAEMON --config-file=$CONFFILE rc_status -v ;; -@@ -41,6 +63,7 @@ +@@ -38,6 +60,7 @@ echo -n "Shutting down nova-$DAEMON" /sbin/killproc /usr/bin/nova-$DAEMON rc_status -v ++++++ openstack-nova-novncproxy.init ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -13,7 +13,7 @@ ### END INIT INFO DAEMON="novncproxy" -USER="openstack-nova" +USER="nova" CONFFILE="/etc/nova/nova.conf" LOGFILE="/var/log/nova/$DAEMON.log" ++++++ openstack-nova-polkit.rules ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -2,7 +2,7 @@ polkit.addRule(function(action, subject) { if (action.id == "org.libvirt.unix.manage" && - subject.user == "openstack-nova") { + subject.user == "nova") { return polkit.Result.YES; } }); ++++++ openstack-nova-vncproxy.init ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -13,7 +13,7 @@ ### END INIT INFO name="vncproxy" -USER="openstack-nova" +USER="nova" GROUP="nobody" CONFIGFILE="/etc/nova/nova.conf" RUNDIR="/var/run/nova" ++++++ openstack-nova.conf ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -1 +1 @@ -d /var/run/openstack-nova 0700 openstack-nova openstack-nova - +d /var/run/openstack-nova 0700 nova nova - ++++++ openstack-nova.init ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -13,14 +13,12 @@ ### END INIT INFO DAEMON="__NAME__" -USER="openstack-nova" +USER="nova" CONFFILE="/etc/nova/nova.conf" RUNDIR="/var/run/nova" -LOCKDIR="/var/lock/nova" -# $RUNDIR/$LOCKDIR can be tmpfs, thus we have to create/own it here: +# $RUNDIR can be tmpfs, thus we have to create/own it here: mkdir -m 0700 -p $RUNDIR && chown $USER. $RUNDIR -mkdir -m 0700 -p $LOCKDIR && chown $USER. $LOCKDIR . /etc/rc.status @@ -28,7 +26,6 @@ start) if [ "$DAEMON" == "api" ]; then echo -n "Checking for Nova API DB Migrations" - test -f /var/log/nova/nova-manage.log && chown $USER. /var/log/nova/nova-manage.log su $USER -s /bin/sh -c "/usr/bin/nova-manage db sync" rc_status -v fi ++++++ openstack-nova.logrotate ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -7,6 +7,6 @@ dateext missingok notifempty - su openstack-nova openstack-nova + su nova nova sharedscripts } ++++++ org.openstack.nova.compute.pkla ++++++ --- /var/tmp/diff_new_pack.82xNKL/_old 2014-04-14 10:56:22.000000000 +0200 +++ /var/tmp/diff_new_pack.82xNKL/_new 2014-04-14 10:56:22.000000000 +0200 @@ -1,5 +1,5 @@ [Grant nova-compute libvirt management permissions] -Identity=unix-user:openstack-nova +Identity=unix-user:nova Action=org.libvirt.unix.manage ResultAny=yes ResultInactive=yes -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de