[Bug 1501772] Fix merged to neutron (master)

OpenStack Infra 1501772 at bugs.launchpad.net
Thu Oct 15 15:38:31 UTC 2015


Reviewed:  https://review.openstack.org/235300
Committed: https://git.openstack.org/cgit/openstack/neutron/commit/?id=140ccc36d172bead2605968b3d61b36cca8a0040
Submitter: Jenkins
Branch:    master

commit 6dcfe3a9362ae5fcf18e5cfb59663e43446cd59c
Author: Kevin Benton <blak111 at gmail.com>
Date:   Tue Oct 6 19:28:47 2015 -0700

    Mock oslo policy HTTPCheck instead of urllib
    
    We were mocking internal behavior of oslo policy by
    patching urllib. This will break with the upcoming oslo
    release that switches to requests.
    
    This patch changes the mock to the HTTPCheck level and we
    can leave implementation details testing up to oslo_policy.
    
    Change-Id: I07957f01307e25f1547197c720eea6e3e7f0ef5a
    Closes-Bug: #1503890
    (cherry picked from commit a0f1d9d6de1560be91d3001c8ac9f880a7a5a7e0)
    
    Add testresources used by oslo.db fixture
    
    If we use oslo.db fixtures, we'll need the package or
    the next version of oslo.db release will break us.
    
    Closes-Bug: #1503501
    Change-Id: I7dfbf240333095d91a414ba15a439bdc4804eb25
    (cherry picked from commit 86ad967e40c2c6752ec0fb46cfd3098ede0c7178)
    
    Fix functional test_server tests
    
    Now oslo.service 0.10.0 no longer sends SIGHUP to parent and
    children services.
    
    This was a chance introduced by 286a6ea, and since it invalidated
    the very logic under test, this must be revised.
    
    (cherry picked from commit 090fe713592c2b6398d999bfa03b80cbb2054609)
    
    Change-Id: I18a11283925369bc918002477774f196010a1bc3
    Closes-bug: #1505438
    (cherry picked from commit 090fe713592c2b6398d999bfa03b80cbb2054609)
    
    Make test_server work with older versions of oslo.service
    
    Change I18a11283925369bc918002477774f196010a1bc3 fixed the test for
    oslo.service >= 0.10.0, but it also broke it for older versions of
    oslo.service. Since the library has minimal version of >= 0.7.0 in
    requirements.txt, test should pass for those versions too.
    
    Now, instead of validating that either reset() or restart() of workers
    are triggered on SIGHUP, just validate that .start() is triggered the
    expected number of times (either way, no matter how oslo.service decide
    to clean up the children, they exit and then are respawned).
    
    Change-Id: I41f9d3af780b3178b075bc1e7084f417a2bd1378
    Closes-Bug: #1505645
    (cherry picked from commit 7bb40921660cf29beb68e338e205499efd6ffa36)
    
    Fixed multiple py34 gate issues
    
    1. Scope mock of 'open' to module
    
    By mocking 'open' at the module level, we can avoid affecting
    'open' calls from other modules.
    
    2. Stop using LOG.exception in contexts with no sys.exc_info set
    
    Python 3.4 logger fills in record.exc_info with sys.exc_info() result
    [1], and then it uses it to determine the current exception [2] to
    append to the log message. Since there is no exception, exc_info[1] is
    None, and we get AttributeError inside traceback module.
    
    It's actually a bug in Python interpreter that it attempt to access the
    attribute when there is no exception. It turns out that it's fixed in
    latest master of cPython [3] (the intent of the patch does not seem
    relevant, but it removes the offending code while reshuffling the code).
    Note that now cPython correctly checks the exception value before
    accessing its attributes [4].
    
    The patch in cPython that resulted in the failure is [5] and is present
    since initial Python 3k releases.
    
    The patch in fixtures that broke us is [6].
    
    [1]: https://hg.python.org/cpython/file/tip/Lib/logging/__init__.py#l1412
    [2]: https://hg.python.org/cpython/file/tip/Lib/logging/__init__.py#l575
    [3]: https://hg.python.org/cpython/rev/73afda5a4e4c
    [4]: https://hg.python.org/cpython/rev/73afda5a4e4c#l6.484
    [5]: https://hg.python.org/cpython/rev/2ee09afee126
    [6]: https://github.com/testing-cabal/fixtures/commit/67dd2956943261e845a866dab155208c51da937e
    
    Closes-Bug: #1503847
    Closes-Bug: #1504053
    Co-Authored-By: Ihar Hrachyshka <ihrachys at redhat.com>
    Change-Id: I456b7846b8a53e4d3f8c91583685e0e1eaa84719
    (cherry picked from commit 8f58bbf38f5984e70d6e0be7427deb99d7782d1d)

commit 0b07910f33ed26fbdd13530eafbdefd74104424d
Author: Gary Kotton <gkotton at vmware.com>
Date:   Sun Sep 27 00:24:31 2015 -0700

    DHCP: protect against case when device name is None
    
    There are edge cases when the agent attempts to unplug an interface and
    the device does not exist.
    
    Change-Id: I6917ec94f685f3dd3bff6aa1d43dc56aab76274a
    Closes-bug: #1498370
    (cherry picked from commit caebc8fb8e8d9782746c3cc3ddc86f786342c819)

commit fb40dbbce9ac17ee43d8921aa62c28f1ea723fba
Author: shihanzhang <shihanzhang at huawei.com>
Date:   Fri Sep 18 10:38:43 2015 +0800

    Execute ipset command using check_exit_code
    
    When l2 agent execute ipset command, we should pass
    parameter 'check_exit_code' to self.execute acording to
    action.
    The intention is to safely fail if we try to destroy a
    non existing set, or delete a non existing member.
    Otherwise the agent gets stuck in a loop if such situation
    happens. Such kind of event would be logged as errors.
    
    Change-Id: If67330523d114d6da13d0280851e7138a51d08f7
    Closes-bug: #1497074

commit a7fa6f9a37c976d971b1be5896ebb6241c815475
Author: Nir Magnezi <nmagnezi at redhat.com>
Date:   Thu Sep 24 17:49:15 2015 +0300

    The option force_metadata=True breaks the dhcp agent
    
    Patch I5f6ee9788717c3d4f1f2e2a4b9734fdd8dd92b40 has an issue with
    force_metadata = True.
    
    Using the option force_metadata=True while
    enable_isolated_metadata=False (which is the default), will break the
    dhcp agent because the variable subnet_to_interface_ip is being
    referenced before assignment.
    
    Co-Authored-By: Jakub Libosvar <jlibosva at redhat.com>
    Change-Id: I4e1d918e3a24dd483ee134021f587ae4520bf431
    Closes-Bug: #1499406
    (cherry picked from commit 473c338ff8c5526157d297b7e90d5e4f5e94cbb9)

commit 08971b0fb61170e86319c6801d6b1021d5944e3c
Author: Matt Riedemann <mriedem at us.ibm.com>
Date:   Thu Oct 1 06:55:14 2015 -0700

    Do not log an error when deleting a linuxbridge does not exist
    
    When you're racing to teardown and relying on RPC, it should not be
    considered an error that a bridge does not exist when you're trying to
    delete it anyway. This is better served as debug level information.
    
    For context, this shows up over 1000 times in successful
    gate-tempest-dsvm-neutron-linuxbridge job runs in a week so it's
    probably safe to say it's not contributing to test failures.
    
    Closes-Bug: #1501779
    
    Change-Id: I8e9b27e010d033291497f4e660a97bbae92e75b1
    (cherry picked from commit a9dc48f5a4616a505824c3e8520c3dce7436f1b1)

commit f3bb778dcb213d81aa62e504afb10b3bac614bb4
Author: Henry Gessau <gessau at cisco.com>
Date:   Sun Sep 27 15:36:59 2015 -0400

    Tag the alembic migration revisions for Liberty
    
    Previously when we had one repo with one alembic branch we would
    create a milestone revision on that single branch. Now we have
    multiple repos and expand/contract branches for each repo.
    
    So from now on we tag the final revision on every branch when we make
    a milestone release. Update the cli to support the command:
      neutron-db-manage upgrade <milestone>
    where <milestone> becomes an alias for all the revisions for a
    milestone.
    
    Closes-Bug: #1499033
    
    Change-Id: I38623986dd574bec01fe147f9c6a747f3f512bb7
    (cherry picked from commit 52236764a3a7c23ec24a86ccb84bc6737e2a4791)
    Conflicts:
            neutron/db/migration/cli.py
    	neutron/tests/unit/db/test_migration.py

commit 677687a3aad20e61f47b3ecbc9b0f4686e817653
Author: Bogdan Tabor <bogdan.tabor at ericpol.com>
Date:   Wed Sep 23 10:52:25 2015 +0200

    /common/utils.py py34 incompatibility
    
    Fixes bug found during unit test of get_random_string() method.
    For Python3 it is required to encode string as bytes object
    before hashing.
    
    Related-blueprint: neutron-python3
    Closes-bug: #1502148
    Change-Id: I93061a831b45fc8b3ede0211af665ce02f36f38a
    (cherry picked from commit 3d54459c2971f01581354c8a6b9c58abea7743d8)

commit c66fa826ab2f25a21f8c2fa9a386aff1e54c7427
Author: Terry Wilson <twilson at redhat.com>
Date:   Mon Sep 28 21:01:30 2015 -0500

    Just call set-manager if connecting fails
    
    Instead of calling set-manager every init, only call it when
    getting the schema fails inside of Connection.start() which is
    only called once.
    
    Closes-Bug: #1499784
    Change-Id: Ib28cd912e1f2eba318a6b0a82269919a1c95312d
    (cherry picked from commit c561c7c20acef7227e2eab2be30a2626e16d2354)

commit cf1689438079de264dd4a61cccaf2ad8b0bd05b9
Author: Adelina Tuvenie <atuvenie at cloudbasesolutions.com>
Date:   Mon Sep 21 23:51:42 2015 -0700

    Fixes 'ovs-agent cannot start on Windows because root_helper opt is not found'
    
    Change Ie1224f8a1c17268cd7d1c474ed82fdfb8852eaa8 removed
    config.register_root_helper() from ovs_neutron_agent:main, thus the agent
    cannot start on Windows since root_helper config option is never
    registered.
    
    The fix consists in adding config.register_root_helper in the Windows side
    utils.
    
    Closes-Bug: #1497930
    
    Change-Id: I6adc3b869c9564cac3ab99174b8fe47584213e59
    (cherry picked from commit 074f82d3ec18fd591e9d1805676dfe13bd508510)

commit 18344140bd0aae61dd6f50667d719cd9cfe149cb
Author: James Page <james.page at ubuntu.com>
Date:   Thu Oct 1 11:54:28 2015 +0100

    Use format to convert ints to strings
    
    This ensures that on 32bit architectures, where
    sometimes an implicit long is created, the resulting
    string does not contain a 'L' suffix as generated
    by the hex function.
    
    Change-Id: I264f90d68009963fe7a217c2170e1cf2f46ae2bb
    Closes-Bug: 1501703
    (cherry picked from commit 49883f1b2bfc9a4f06b1d336553d7f0ab4289a0d)

commit 155746c171c24d11e77d9624e9af31b45dad87f3
Author: Adelina Tuvenie <atuvenie at cloudbasesolutions.com>
Date:   Thu Sep 24 06:17:06 2015 -0700

    Fixes 'ovs-agent fails to start on Windows beacause of SIGHUP'
    
    Change Ic0cf8a9ca7f3a16b556a6825e2979471ae136c33 has added the handling
    of SIGHUP in neutron_ovs_agent. This does not work on Windows as there is
    no SIGHUP signal on windows.
    
    The fix consists in checking if signal has SIGHUP attr before setting the handler
    for SIGHUP.
    
    Change-Id: I08258580252d68db222cbb9db7812ff1dfb37a56
    Closes-Bug: #1499345
    (cherry picked from commit 584bb1aad8647872cb8722beeb84e9ec08abc208)

commit dd197db312f4bc5a2a661c86125b06d71c45e742
Author: Toni Ylenius <toni.ylenius at cybercom.com>
Date:   Wed Aug 5 15:06:00 2015 +0300

    usage_audit: Fix usage_audit to work with ML2
    
    The script didn't work with the ML2 plugin as router related
    functionality is moved to the L3 router service plugin. The fix assumes
    that the L3 router service plugin is in use, and this seems to apply to
    most of the current core plugins.
    
    Change-Id: If3eb7bde4a5b8b9ca2ac0bd7327325f6c0ad620a
    Closes-Bug: 1481692
    (cherry picked from commit 2bded62d6a6a141e610a06e5f40bb28c0b26da5c)

commit d1d5f2a3bc11fbaa61dcbcce7de2be03b88dd606
Author: Salvatore Orlando <salv.orlando at gmail.com>
Date:   Thu Oct 1 16:07:59 2015 -0700

    Pecan: Fix quota enforcement
    
    Ensure that core resources, and not only extension resources,
    are registered with the quota engine. Otherwise no enforcement
    will happen for them.
    
    Further, do not pass anymore the 'resource name' to the resource's
    count method as it is not necessary anymore since Liberty.
    
    Change-Id: I895b4e69e50dbf1aac39e07eba07c3e3ff30808a
    Closes-bug: #1501948
    (cherry picked from commit 809ac2161577ef354b75713c0d5210e03fa16d6a)

commit 13b6d76da361178ea0b84baf4831a4c7f53e29c7
Author: Ihar Hrachyshka <ihrachys at redhat.com>
Date:   Thu Oct 1 17:13:25 2015 +0200

    metadata: don't crash proxy on non-unicode user data
    
    We attempt to log every successful metadata response with LOG.debug. But
    as per oslo.log docs [1], we should make sure that what we pass into the
    library is unicode.
    
    Http.request returns a tuple of Response object and a string, which is
    bytes in Python 2.x [2].
    
    That's why we need to convert the response content to unicode before
    passing it into oslo.log.
    
    To achieve it, we utilize encodeutils.safe_decode with 'replace' errors
    handling strategy, so that we don't get exceptions on input that does
    not conform unicode.
    
    For the unit test case, we pass a string that is not expected to convert
    to unicode with errors='strict' strategy or similar, and check that we
    still don't crash.
    
    While at it, we remove a check for the number of log calls being
    triggered, because it's something that we should avoid validating in
    test cases, and it cannot trigger a real bug. The mock that was used to
    count the number would also hide the bug that we try to reproduce.
    
    Note that the bug does not require debug to be set because the crash
    occurs before oslo.log machinery decides it should not log the message.
    
    [1]: http://docs.openstack.org/developer/oslo.log/usage.html#no-more-implicit-conversion-to-unicode-str
    [2]: http://bitworking.org/projects/httplib2/doc/html/libhttplib2.html#httplib2.Http.request
    
    Closes-Bug: #1501772
    Change-Id: I6a32c40ff117fae43913386134c8981539697ce8
    (cherry picked from commit 80e3d9be4923ecad17377b1d15c8392b8a43dac6)

commit 48a9cd433c09bbf4b80a4665f625cd3754db0f00
Author: OpenStack Proposal Bot <openstack-infra at lists.openstack.org>
Date:   Fri Oct 2 06:33:59 2015 +0000

    Imported Translations from Zanata
    
    For more information about this automatic import see:
    https://wiki.openstack.org/wiki/Translations/Infrastructure
    
    Change-Id: Ib6bba07a6f0cb3c2f9eda98c5f9f0c93c84e2ea0

commit 2ed841f58d931bc9a2d29172d26c03d7cb6862e6
Author: Terry Wilson <twilson at redhat.com>
Date:   Mon Sep 28 17:42:25 2015 -0500

    Check idl.run() return value before blocking
    
    The IDL change_seqno can change as a result of running idl.run(), and
    it returns True if there has been a change. The existing code would
    block without checking the return value, and therefor could block
    until another change occurred, or the timeout was reached.
    
    Closes-Bug: #1501090
    Change-Id: I9b7aac2755e6e6b69165023e01583337f9d30f15
    (cherry picked from commit 5dba2ac71c16cfd11937cf4becbaabd5b807678d)

commit 69662eb3cad925a3933f2ba3e5ef03dbde52ffc9
Author: Kevin Benton <blak111 at gmail.com>
Date:   Fri Sep 18 07:15:45 2015 -0700

    Don't write DHCP opts for SLAAC entries
    
    Change I81b4669eadaa9119e08c6a5e1d2a7b5959babdcc
    caused DHCP options to be written for SLAAC entries
    when they previously were not. This restores the previous
    behavior.
    
    Closes-Bug: #1499054
    Change-Id: I81400305f166d62aa4612aab54602abb8178b64c
    (cherry picked from commit 22f5fef5251cff9dbce35ca9a0ec8ea3b42f359c)

commit 892a325d7e66a164a74c5bafdf7e0d460af275d9
Author: Andreas Jaeger <aj at suse.de>
Date:   Thu Sep 24 20:53:09 2015 +0200

    Cleanup of Translations
    
    In preparation for the release, do some cleanups for translations.
    
    Removes all po files that are partially translated. The translation
    team has decided to exclude files with less than 66 % of translated
    content. There is no content lost, all data is in the translation
    server, we just remove it from the repository.
    
    This updates also recreates pot (translation source files) to
    reflect the state of the repository in case there was no recent
    import for them.
    
    This change needs to be done manually since the automatic import does
    not handle some of these cases.
    
    Change-Id: I597258484d388091366bf9baed6e87dafb3f0cc3

commit 0782a0b38172d37267b9400246b2d5b54c3cf67c
Author: Salvatore Orlando <salv.orlando at gmail.com>
Date:   Thu Sep 24 05:45:40 2015 -0700

    Fix quota usage tracker for security group rules
    
    This simple patch ensures usage for security group rules is
    marked as dirty when a security group rule is deleted.
    To this aim, the security group rule is deleted using ORM
    in order to ensure the sqlalchemy even if fired.
    
    Closes-Bug: #1499339
    
    Change-Id: I1e81fe03fed14ec438cea5d7675f66caeb91afd8
    (cherry picked from commit 851b1b4bbbaa965f190bfacab03fd6ece80ad0ec)

commit 3b0934e9f11b1bc9bf339681f2b5abad77a995e7
Author: Kyle Mestery <mestery at mestery.com>
Date:   Thu Sep 24 13:09:48 2015 +0000

    Update default branch in .gitreview to stable/liberty
    
    Change-Id: I5463e1ffb9e7fc772ba27dd7b7d7d2414a526b5a
    Signed-off-by: Kyle Mestery <mestery at mestery.com>

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to neutron in Ubuntu.
https://bugs.launchpad.net/bugs/1501772

Title:
  Metadata proxy process errors with binary user_data

Status in neutron:
  Fix Released
Status in neutron package in Ubuntu:
  Fix Released

Bug description:
  Boot instances with binary user data content (rather than simple text)
  is not happy right now:

  2015-10-01 13:19:39.109 10854 DEBUG neutron.agent.metadata.namespace_proxy [-] {'date': 'Thu, 01 Oct 2015 13:19:39 GMT', 'status': '200', 'content-length': '979', 'content-type': 'text/plain; charset=UTF-8', 'content-location': u'http://169.254.169.254/openstack/2013-10-17/user_data'} _proxy_request /usr/lib/python2.7/dist-packages/neutron/agent/metadata/namespace_proxy.py:90
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy [-] Unexpected error.
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy Traceback (most recent call last):
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy   File "/usr/lib/python2.7/dist-packages/neutron/agent/metadata/namespace_proxy.py", line 55, in __call__
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy     req.body)
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy   File "/usr/lib/python2.7/dist-packages/neutron/agent/metadata/namespace_proxy.py", line 91, in _proxy_request
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy     LOG.debug(content)
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy   File "/usr/lib/python2.7/logging/__init__.py", line 1437, in debug
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy     msg, kwargs = self.process(msg, kwargs)
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy   File "/usr/lib/python2.7/dist-packages/oslo_log/log.py", line 139, in process
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy     msg = _ensure_unicode(msg)
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy   File "/usr/lib/python2.7/dist-packages/oslo_log/log.py", line 113, in _ensure_unicode
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy     errors='xmlcharrefreplace',
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy   File "/usr/lib/python2.7/dist-packages/oslo_utils/encodeutils.py", line 43, in safe_decode
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy     return text.decode(incoming, errors)
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy   File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy     return codecs.utf_8_decode(input, errors, True)
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy TypeError: don't know how to handle UnicodeDecodeError in error callback
  2015-10-01 13:19:39.109 10854 ERROR neutron.agent.metadata.namespace_proxy
  2015-10-01 13:19:39.112 10854 INFO neutron.wsgi [-] 192.168.21.15 - - [01/Oct/2015 13:19:39] "GET /openstack/2013-10-17/user_data HTTP/1.1" 500 343 0.014536

  This is thrown be the log call just prior to it being served back to
  the instance.

  ProblemType: Bug
  DistroRelease: Ubuntu 15.10
  Package: neutron-metadata-agent 2:7.0.0~b3-0ubuntu3
  ProcVersionSignature: Ubuntu 4.2.0-11.13-generic 4.2.1
  Uname: Linux 4.2.0-11-generic x86_64
  ApportVersion: 2.19-0ubuntu1
  Architecture: amd64
  Date: Thu Oct  1 13:38:21 2015
  Ec2AMI: ami-000005ce
  Ec2AMIManifest: FIXME
  Ec2AvailabilityZone: nova
  Ec2InstanceType: m1.small.osci
  Ec2Kernel: None
  Ec2Ramdisk: None
  JournalErrors: -- No entries --
  PackageArchitecture: all
  SourcePackage: neutron
  UpgradeStatus: No upgrade log present (probably fresh install)
  mtime.conffile..etc.neutron.metadata.agent.ini: 2015-10-01T13:18:25.075633

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1501772/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list