)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"40051719c21b83e6c978d51ece6f40b4574a25c4","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add puppet-watcher and enable it in scenario004"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Id1f02e81d224209874c9a6230d1c85090189bae4"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"7a77a97e_905c25ef","line":9,"updated":"2016-11-22 01:59:32.000000000","message":"please add a line below the change-id with\n\nDepends-On: I05e9f15fa8c9a6ca1992a27120ba442b35bd0f98\n\nThis will help to see if you tempest patch is fine and we will see the results here too","commit_id":"ed0e61adee0387a429c93fa7401e4ca6e3b4d1ae"}],"fixtures/scenario004.pp":[{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"ac50b90ce32063df6e7d902b2d56dbdd0bf3a453","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# Disable SSL (workaround for Xenial)"},{"line_number":18,"context_line":"if $::operatingsystem \u003d\u003d \u0027Ubuntu\u0027 {"},{"line_number":19,"context_line":"  $ssl_enabled     \u003d false"},{"line_number":20,"context_line":"  $ipv6            \u003d false"},{"line_number":21,"context_line":"} else {"},{"line_number":22,"context_line":"  $ssl_enabled     \u003d true"},{"line_number":23,"context_line":"  $ipv6            \u003d true"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"7a77a97e_80fb1747","line":20,"updated":"2016-11-21 10:51:26.000000000","message":"$watcher_enabled \u003d false","commit_id":"ed0e61adee0387a429c93fa7401e4ca6e3b4d1ae"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"ac50b90ce32063df6e7d902b2d56dbdd0bf3a453","unresolved":false,"context_lines":[{"line_number":57,"context_line":""},{"line_number":58,"context_line":"# Don\u0027t test swift, radosgw won\u0027t pass the current tests"},{"line_number":59,"context_line":"# Glance, nova, neutron are true by default."},{"line_number":60,"context_line":"include ::openstack_integration::tempest"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"7a77a97e_c0618f13","line":60,"updated":"2016-11-21 10:51:26.000000000","message":"to enable watcher in tempeset you have to pass watcher_enabeld \u003d\u003e true\n\nso please make this change depends-on your tempest patch","commit_id":"ed0e61adee0387a429c93fa7401e4ca6e3b4d1ae"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"defcbbfa7050e8a22d15c0bd7a324d52c359f535","unresolved":false,"context_lines":[{"line_number":18,"context_line":"if $::operatingsystem \u003d\u003d \u0027Ubuntu\u0027 {"},{"line_number":19,"context_line":"  $ssl_enabled     \u003d false"},{"line_number":20,"context_line":"  $ipv6            \u003d false"},{"line_number":21,"context_line":"  $watcher_enabled \u003d false"},{"line_number":22,"context_line":"} else {"},{"line_number":23,"context_line":"  $ssl_enabled     \u003d true"},{"line_number":24,"context_line":"  $ipv6            \u003d true"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"5a74a57a_fbb8a3e7","line":21,"updated":"2016-11-24 20:29:48.000000000","message":"Can you please add a note why watcher is disabled on Ubuntu ? It helps us keep track of things.","commit_id":"f47c8c0f12fdb19c83134cce2bace0ca1a18907a"}],"manifests/watcher.pp":[{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"defcbbfa7050e8a22d15c0bd7a324d52c359f535","unresolved":false,"context_lines":[{"line_number":18,"context_line":"  }"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"  if $::osfamily \u003d\u003d \u0027RedHat\u0027 {"},{"line_number":21,"context_line":"    if $::openstack_integration::config::ssl {"},{"line_number":22,"context_line":"      openstack_integration::ssl_key { \u0027watcher\u0027:"},{"line_number":23,"context_line":"        notify  \u003d\u003e Service[\u0027httpd\u0027],"},{"line_number":24,"context_line":"        require \u003d\u003e Package[\u0027watcher\u0027],"},{"line_number":25,"context_line":"      }"},{"line_number":26,"context_line":"      Exec[\u0027update-ca-certificates\u0027] ~\u003e Service[\u0027httpd\u0027]"},{"line_number":27,"context_line":"    }"},{"line_number":28,"context_line":"    class { \u0027::watcher::db::mysql\u0027:"},{"line_number":29,"context_line":"      password \u003d\u003e \u0027watcher\u0027,"},{"line_number":30,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"5a74a57a_9b908f45","line":27,"range":{"start_line":21,"start_character":0,"end_line":27,"end_character":5},"updated":"2016-11-24 20:29:48.000000000","message":"This doesn\u0027t make sense if you\u0027re not setting watcher in https behind apache.\nI don\u0027t see a wsgi implementation in puppet-watcher directly, perhaps you could use\n\n    https://github.com/openstack/puppet-openstacklib/blob/master/manifests/wsgi/apache.pp\n\nBut I\u0027m not familiar enough with watcher.","commit_id":"f47c8c0f12fdb19c83134cce2bace0ca1a18907a"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"defcbbfa7050e8a22d15c0bd7a324d52c359f535","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    }"},{"line_number":31,"context_line":"    class { \u0027::watcher::keystone::auth\u0027:"},{"line_number":32,"context_line":"      password     \u003d\u003e \u0027a_big_secret\u0027,"},{"line_number":33,"context_line":"      public_url   \u003d\u003e \"${::openstack_integration::config::base_url}:9322\","},{"line_number":34,"context_line":"      admin_url    \u003d\u003e \"${::openstack_integration::config::base_url}:9322\","},{"line_number":35,"context_line":"      internal_url \u003d\u003e \"${::openstack_integration::config::base_url}:9322\","},{"line_number":36,"context_line":"    }"},{"line_number":37,"context_line":"    class { \u0027::watcher::db\u0027:"},{"line_number":38,"context_line":"      database_connection \u003d\u003e \u0027mysql+pymysql://watcher:watcher@127.0.0.1/watcher?charset\u003dutf8\u0027,"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"5a74a57a_3bce9b5a","line":35,"range":{"start_line":33,"start_character":0,"end_line":35,"end_character":74},"updated":"2016-11-24 20:29:48.000000000","message":"Unless you fix things so that the API service is properly on HTTPS, you need to use something other than base_url because base_url will contain https://.. See for example designate implementation:\n\n    https://github.com/openstack/puppet-openstack-integration/blob/52d8fe5465054529e62aa02c7a850d1610de11cf/manifests/designate.pp#L46-L48","commit_id":"f47c8c0f12fdb19c83134cce2bace0ca1a18907a"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"e228cb3721bbfecb6b19108e51028f112b359bdc","unresolved":false,"context_lines":[{"line_number":45,"context_line":"      rabbit_password \u003d\u003e \u0027my_secret\u0027,"},{"line_number":46,"context_line":"      rabbit_port     \u003d\u003e $::openstack_integration::config::rabbit_port,"},{"line_number":47,"context_line":"      rabbit_use_ssl  \u003d\u003e $::openstack_integration::config::ssl,"},{"line_number":48,"context_line":"      rabbit_host     \u003d\u003e $::openstack_integration::config::ip_for_url,"},{"line_number":49,"context_line":"    }"},{"line_number":50,"context_line":"    class {\u0027::watcher::keystone::authtoken\u0027:"},{"line_number":51,"context_line":"      password \u003d\u003e \u0027a_big_secret\u0027,"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"5a74a57a_9bdecf0f","line":48,"updated":"2016-11-24 20:24:12.000000000","message":"rabbit_userid/password/host should be default_transport_url","commit_id":"f47c8c0f12fdb19c83134cce2bace0ca1a18907a"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"defcbbfa7050e8a22d15c0bd7a324d52c359f535","unresolved":false,"context_lines":[{"line_number":47,"context_line":"      rabbit_use_ssl  \u003d\u003e $::openstack_integration::config::ssl,"},{"line_number":48,"context_line":"      rabbit_host     \u003d\u003e $::openstack_integration::config::ip_for_url,"},{"line_number":49,"context_line":"    }"},{"line_number":50,"context_line":"    class {\u0027::watcher::keystone::authtoken\u0027:"},{"line_number":51,"context_line":"      password \u003d\u003e \u0027a_big_secret\u0027,"},{"line_number":52,"context_line":"      auth_url \u003d\u003e \"${::openstack_integration::config::keystone_admin_uri}/v3\","},{"line_number":53,"context_line":"      auth_uri \u003d\u003e \"${::openstack_integration::config::keystone_auth_uri}/v3\""},{"line_number":54,"context_line":"    }"},{"line_number":55,"context_line":"    class { \u0027::watcher::api\u0027:"},{"line_number":56,"context_line":"      watcher_client_password \u003d\u003e \u0027a_big_secret\u0027,"},{"line_number":57,"context_line":"      create_db_schema        \u003d\u003e true,"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"5a74a57a_5b4b57c9","line":54,"range":{"start_line":50,"start_character":0,"end_line":54,"end_character":5},"updated":"2016-11-24 20:29:48.000000000","message":"The ordering of the different classes doesn\u0027t look right, and it\u0027s causing errors such as:\n\n    http://logs.openstack.org/89/399189/11/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/69ccfac/logs/watcher/decision-engine.txt.gz#_2016-11-22_09_17_19_653\n\n    and\n\n    http://logs.openstack.org/89/399189/11/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/69ccfac/logs/watcher/decision-engine.txt.gz#_2016-11-22_09_17_19_645\n\nLooking at other projects, such as Nova:\n\n    https://github.com/openstack/puppet-openstack-integration/blob/master/manifests/nova.pp\n\nWe see:\n\n    class { \u0027::nova::db::mysql\u0027:\n    class { \u0027::nova::db::mysql_api\u0027:\n    class { \u0027::nova::keystone::auth\u0027:\n    class { \u0027::nova::keystone::authtoken\u0027:\n    class { \u0027::nova\u0027:\n    class { \u0027::nova::api\u0027:\n\nCan you please align with that ?","commit_id":"f47c8c0f12fdb19c83134cce2bace0ca1a18907a"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"637b4c8eacde42eb769e8007d871468a577cf6b5","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    default_transport_url \u003d\u003e \u0027rabbit://watcher:my_secret@127.0.0.1:5672/\u0027,"},{"line_number":49,"context_line":"    rabbit_use_ssl        \u003d\u003e $::openstack_integration::config::ssl,"},{"line_number":50,"context_line":"  }"},{"line_number":51,"context_line":"  class { \u0027::watcher::api\u0027:"},{"line_number":52,"context_line":"    watcher_client_password \u003d\u003e \u0027a_big_secret\u0027,"},{"line_number":53,"context_line":"    create_db_schema        \u003d\u003e true,"},{"line_number":54,"context_line":"    upgrade_db              \u003d\u003e true,"}],"source_content_type":"text/x-puppet","patch_set":14,"id":"5a74a57a_9025725d","line":51,"range":{"start_line":51,"start_character":0,"end_line":51,"end_character":27},"updated":"2016-11-28 14:39:36.000000000","message":"I think we\u0027re getting close, there are less errors now but from looking at logs, here [1]:\n\n    (15835) wsgi starting up on http://0.0.0.0:9322\n\nWe can tell that the API starts listening on 0.0.0.0 (ipv4) and then we see the tempest failures:\n\n    urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host\u003d\u0027::1\u0027, port\u003d9322): Max retries exceeded with url\n\nYou\u0027re setting the endpoint to be ::1:9322 but the API is not listening on ::1 (ipv6).\nYou need to the the watcher API (in this case probably the $watcher_api_bind_host parameter [3]) and also any other parameters across the different services that are running to make sure they are listening on the right IP/interface.\n\n[1]: http://logs.openstack.org/89/399189/14/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/e3b320a/logs/watcher/api.txt.gz#_2016-11-27_10_38_19_492\n[2]: http://logs.openstack.org/89/399189/14/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/e3b320a/console.html#_2016-11-27_10_55_48_709547\n[3]: https://github.com/openstack/puppet-watcher/blob/master/manifests/api.pp#L140","commit_id":"6b922a83a3881e8fc49ac274c89dcf1e4b910945"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"f6eb2aceac416d273497677d9c7e73b67749a7bd","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    admin_url    \u003d\u003e \"http://${::openstack_integration::config::ip_for_url}:9322\","},{"line_number":36,"context_line":"    internal_url \u003d\u003e \"http://${::openstack_integration::config::ip_for_url}:9322\","},{"line_number":37,"context_line":"  }"},{"line_number":38,"context_line":"  class {\u0027::watcher::keystone::authtoken\u0027:"},{"line_number":39,"context_line":"    password     \u003d\u003e \u0027a_big_secret\u0027,"},{"line_number":40,"context_line":"    auth_version \u003d\u003e \u0027v3\u0027,"},{"line_number":41,"context_line":"    auth_url     \u003d\u003e \"${::openstack_integration::config::keystone_admin_uri}/v3\","},{"line_number":42,"context_line":"    auth_uri     \u003d\u003e \"${::openstack_integration::config::keystone_auth_uri}/v3\""},{"line_number":43,"context_line":"  }"},{"line_number":44,"context_line":"  class { \u0027::watcher::logging\u0027:"},{"line_number":45,"context_line":"    debug \u003d\u003e true,"},{"line_number":46,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"5a74a57a_aa6bc51c","line":43,"range":{"start_line":38,"start_character":0,"end_line":43,"end_character":3},"updated":"2016-11-28 21:31:03.000000000","message":"I think you need to add something like:\n\n    user_domain_name    \u003d\u003e \u0027Default\u0027\n    project_domain_name \u003d\u003e \u0027Default\u0027\n\nFrom looking at the errors here:\n\n    http://logs.openstack.org/89/399189/15/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/8d47b15/logs/watcher/api.txt.gz#_2016-11-28_21_09_56_732\n    +\n    http://logs.openstack.org/89/399189/15/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/8d47b15/logs/keystone/keystone.txt.gz?#_2016-11-28_21_09_56_727","commit_id":"06f8c2e15f469bee2ec52dc02fc29c4d8f7ddd02"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"882a5e705d6883dbc37356308534f70adf46e5d8","unresolved":false,"context_lines":[{"line_number":41,"context_line":"    user_domain_name    \u003d\u003e \u0027Default\u0027,"},{"line_number":42,"context_line":"    project_domain_name \u003d\u003e \u0027Default\u0027,"},{"line_number":43,"context_line":"    auth_url            \u003d\u003e \"${::openstack_integration::config::keystone_admin_uri}/v3\","},{"line_number":44,"context_line":"    auth_uri            \u003d\u003e \"${::openstack_integration::config::keystone_auth_uri}/v3\""},{"line_number":45,"context_line":"  }"},{"line_number":46,"context_line":"  class { \u0027::watcher::logging\u0027:"},{"line_number":47,"context_line":"    debug \u003d\u003e true,"}],"source_content_type":"text/x-puppet","patch_set":18,"id":"5a74a57a_de5502fa","line":44,"updated":"2016-11-29 14:17:55.000000000","message":"Please add a memcached_server parameter:\n\n        memcached_servers   \u003d\u003e $::openstack_integration::config::memcached_servers,\n\nThis will resolve the in-process token cache warnings in\n\n    http://logs.openstack.org/89/399189/18/check/gate-puppet-openstack-integration-4-scenario004-tempest-centos-7/85c02dd/logs/watcher/api.txt.gz#_2016-11-28_23_25_36_978","commit_id":"8c29310354ff9d946cd5a800b7dfe5a357775597"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"a6bd196a66af8a9c5b9fc9b38d68d29c1f31b6b5","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    debug \u003d\u003e true,"},{"line_number":48,"context_line":"  }"},{"line_number":49,"context_line":"  class { \u0027::watcher\u0027:"},{"line_number":50,"context_line":"    default_transport_url \u003d\u003e \"rabbit://watcher:my_secret@${::openstack_integration::config::ip_for_url}:${::openstack_integration::config::rabbit_port}/\","},{"line_number":51,"context_line":"    rabbit_use_ssl        \u003d\u003e $::openstack_integration::config::ssl,"},{"line_number":52,"context_line":"  }"},{"line_number":53,"context_line":"  class { \u0027::watcher::api\u0027:"}],"source_content_type":"text/x-puppet","patch_set":18,"id":"5a74a57a_a414d94c","line":50,"range":{"start_line":50,"start_character":30,"end_line":50,"end_character":152},"updated":"2016-11-28 23:05:20.000000000","message":"We created a function (os_transport_url) to generate this rather than having to do the string stuff yourself. \n\n    os_transport_url({\n      \u0027transport\u0027 \u003d\u003e \u0027rabbit\u0027,\n      \u0027host\u0027      \u003d\u003e $::openstack_integration::config::host,\n      \u0027port\u0027      \u003d\u003e $::openstack_integration::config::rabbit_port,\n      \u0027username\u0027  \u003d\u003e \u0027watcher\u0027,\n      \u0027password\u0027  \u003d\u003e \u0027my_secret\u0027,\n    })\n\nI\u0027ve got a patch to switch all of the places over to use it instead, https://review.openstack.org/#/c/395707/","commit_id":"8c29310354ff9d946cd5a800b7dfe5a357775597"},{"author":{"_account_id":9061,"name":"David Moreau Simard","email":"moi@dmsimard.com","username":"dmsimard"},"change_message_id":"882a5e705d6883dbc37356308534f70adf46e5d8","unresolved":false,"context_lines":[{"line_number":47,"context_line":"    debug \u003d\u003e true,"},{"line_number":48,"context_line":"  }"},{"line_number":49,"context_line":"  class { \u0027::watcher\u0027:"},{"line_number":50,"context_line":"    default_transport_url \u003d\u003e \"rabbit://watcher:my_secret@${::openstack_integration::config::ip_for_url}:${::openstack_integration::config::rabbit_port}/\","},{"line_number":51,"context_line":"    rabbit_use_ssl        \u003d\u003e $::openstack_integration::config::ssl,"},{"line_number":52,"context_line":"  }"},{"line_number":53,"context_line":"  class { \u0027::watcher::api\u0027:"}],"source_content_type":"text/x-puppet","patch_set":18,"id":"5a74a57a_1e169a4b","line":50,"range":{"start_line":50,"start_character":30,"end_line":50,"end_character":152},"in_reply_to":"5a74a57a_a414d94c","updated":"2016-11-29 14:17:55.000000000","message":"+1, please use this","commit_id":"8c29310354ff9d946cd5a800b7dfe5a357775597"}]}
