)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"da90a2100574608b51185e3293da3de0586542ce","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"-This patch cover only Keystone as SP for K2K"},{"line_number":13,"context_line":" (Protocol is SAML and module is Shibboleth)"},{"line_number":14,"context_line":"-Install required packages"},{"line_number":15,"context_line":"-Configure keystone.conf file"},{"line_number":16,"context_line":"-Restart keystone"},{"line_number":17,"context_line":"Note: Keystone should be running over apache."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":54,"id":"da85f559_d3c4a860","line":14,"updated":"2015-11-13 12:12:15.000000000","message":"You should precise that it\u0027s only in debian like family os.  But check my next note.","commit_id":"706fbb4567716e83e753583d3cf4f09e268cc831"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"55763d5f63a70703b05076a7a00396fd48d2484d","unresolved":false,"context_lines":[{"line_number":11,"context_line":""},{"line_number":12,"context_line":"-This patch cover only Keystone as SP for K2K"},{"line_number":13,"context_line":" (Protocol is SAML and module is Shibboleth)"},{"line_number":14,"context_line":"-Install required packages"},{"line_number":15,"context_line":"-Configure keystone.conf file"},{"line_number":16,"context_line":"-Restart keystone"},{"line_number":17,"context_line":"Note: Keystone should be running over apache."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":54,"id":"da85f559_47dc6e46","line":14,"in_reply_to":"da85f559_d3c4a860","updated":"2015-11-13 13:06:21.000000000","message":"I\u0027ll change in the next patch set (i\u0027ll send one before the next meeting)","commit_id":"706fbb4567716e83e753583d3cf4f09e268cc831"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"8dae8ce8c08b38697bf4d711328a3b295a04431a","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support for Keystone as Service Provider"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implemts the class to configure Keystone"},{"line_number":10,"context_line":"as a Service Provider"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"-This patch cover only Keystone as SP for K2K"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_6152d9df","line":9,"updated":"2015-11-16 14:02:12.000000000","message":"implements*","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"69841b18e6b4bb1f0795ac2c4a2d82bfac9dd0c8","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Support for Keystone as Service Provider"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implemts the class to configure Keystone"},{"line_number":10,"context_line":"as a Service Provider"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"-This patch cover only Keystone as SP for K2K"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_7c891eca","line":9,"in_reply_to":"ba8a016a_6152d9df","updated":"2015-11-16 14:17:55.000000000","message":"Done","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"8dae8ce8c08b38697bf4d711328a3b295a04431a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Support for Keystone as Service Provider"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implemts the class to configure Keystone"},{"line_number":10,"context_line":"as a Service Provider"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"-This patch cover only Keystone as SP for K2K"},{"line_number":13,"context_line":" (Protocol is SAML and module is Shibboleth)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_61ee59ee","line":10,"updated":"2015-11-16 14:02:12.000000000","message":"I\u0027d add the first point below here. Like:\n\nas a Service Provider. It covers only Keystone as SP for K2K (Protocol is SAML and module is Shibboleth).\n\nSo you keep only the script steps described in the points below.","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"69841b18e6b4bb1f0795ac2c4a2d82bfac9dd0c8","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Support for Keystone as Service Provider"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This patch implemts the class to configure Keystone"},{"line_number":10,"context_line":"as a Service Provider"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"-This patch cover only Keystone as SP for K2K"},{"line_number":13,"context_line":" (Protocol is SAML and module is Shibboleth)"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_fc498e8f","line":10,"in_reply_to":"ba8a016a_61ee59ee","updated":"2015-11-16 14:17:55.000000000","message":"Done","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"8dae8ce8c08b38697bf4d711328a3b295a04431a","unresolved":false,"context_lines":[{"line_number":16,"context_line":"-Restart keystone"},{"line_number":17,"context_line":"Note: Only on Debian osfamily shibboleth"},{"line_number":18,"context_line":"is installed and Keystone VirtualHost is"},{"line_number":19,"context_line":"configured."},{"line_number":20,"context_line":"Note: Keystone should be running over apache."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I32a1487c7674605124e6d0b182fe38ea4b58de87"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_01dd0d14","line":19,"updated":"2015-11-16 14:02:12.000000000","message":"Maybe: The installation of Shibboleth is installed and configuration of Keystone VirtualHost are compatible with Debian based systems.","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"69841b18e6b4bb1f0795ac2c4a2d82bfac9dd0c8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"-Restart keystone"},{"line_number":17,"context_line":"Note: Only on Debian osfamily shibboleth"},{"line_number":18,"context_line":"is installed and Keystone VirtualHost is"},{"line_number":19,"context_line":"configured."},{"line_number":20,"context_line":"Note: Keystone should be running over apache."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I32a1487c7674605124e6d0b182fe38ea4b58de87"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_3caab61a","line":19,"in_reply_to":"ba8a016a_01dd0d14","updated":"2015-11-16 14:17:55.000000000","message":"Done","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"8dae8ce8c08b38697bf4d711328a3b295a04431a","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Note: Only on Debian osfamily shibboleth"},{"line_number":18,"context_line":"is installed and Keystone VirtualHost is"},{"line_number":19,"context_line":"configured."},{"line_number":20,"context_line":"Note: Keystone should be running over apache."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I32a1487c7674605124e6d0b182fe38ea4b58de87"},{"line_number":23,"context_line":"Implements: blueprint enabling-federation"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_a15be153","line":20,"updated":"2015-11-16 14:02:12.000000000","message":"I think you could be clearer in these 2 notes. Maybe replacing them by something like:\n\n\"This puppet scripts assumes a Debian based system where Keystone is running over Apache. It will install Shibboleth and reconfigure the Apache VirtualHost.\"","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"69841b18e6b4bb1f0795ac2c4a2d82bfac9dd0c8","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Note: Only on Debian osfamily shibboleth"},{"line_number":18,"context_line":"is installed and Keystone VirtualHost is"},{"line_number":19,"context_line":"configured."},{"line_number":20,"context_line":"Note: Keystone should be running over apache."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I32a1487c7674605124e6d0b182fe38ea4b58de87"},{"line_number":23,"context_line":"Implements: blueprint enabling-federation"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_9cade233","line":20,"in_reply_to":"ba8a016a_a15be153","updated":"2015-11-16 14:17:55.000000000","message":"Thanks","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":17860,"name":"Samuel de Medeiros Queiroz","email":"samueldmq@gmail.com","username":"samueldmq"},"change_message_id":"8dae8ce8c08b38697bf4d711328a3b295a04431a","unresolved":false,"context_lines":[{"line_number":19,"context_line":"configured."},{"line_number":20,"context_line":"Note: Keystone should be running over apache."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I32a1487c7674605124e6d0b182fe38ea4b58de87"},{"line_number":23,"context_line":"Implements: blueprint enabling-federation"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_fcfe6e04","line":22,"updated":"2015-11-16 14:02:12.000000000","message":"(nit) Put blueprint first, as it is more important, as would be more visible.","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"69841b18e6b4bb1f0795ac2c4a2d82bfac9dd0c8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"configured."},{"line_number":20,"context_line":"Note: Keystone should be running over apache."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"Change-Id: I32a1487c7674605124e6d0b182fe38ea4b58de87"},{"line_number":23,"context_line":"Implements: blueprint enabling-federation"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":55,"id":"ba8a016a_fc62ee15","line":22,"in_reply_to":"ba8a016a_fcfe6e04","updated":"2015-11-16 14:17:55.000000000","message":"Done","commit_id":"e784232df1cf4fd2632dbd2effb59b9909d41eff"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"40e5f6f351e6e2a891365e2de14c574b7eeea9b6","unresolved":false,"context_lines":[{"line_number":18,"context_line":"On RedHat based systems:"},{"line_number":19,"context_line":"1- Configure keystone.conf"},{"line_number":20,"context_line":"2- Reconfigure the selected Keystone VirtualHost on Apache."},{"line_number":21,"context_line":"Note: Step 2 will only execute if the user have installed shibboleth"},{"line_number":22,"context_line":"(This require the user to add an extra repo, for reference see:"},{"line_number":23,"context_line":"https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPLinuxRPMInstall)"},{"line_number":24,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":58,"id":"ba8a016a_a4d39e37","line":21,"updated":"2015-11-23 16:35:36.000000000","message":"Or only the repo, see my comment in the manifest and the review there https://review.openstack.org/248221","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"}],"manifests/federation/service_provider.pp":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"6f5ad3f0b6f4b6c9533b1e091934e85d46dc395e","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# \u003d\u003d Parameters"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# [*protocol*]"},{"line_number":6,"context_line":"#   The protocol name that will we used to setup federation in Apache."},{"line_number":7,"context_line":"#   Allowed protocols are: OpenID Connect and SAML."},{"line_number":8,"context_line":"#   Values accepted are: \u0027openidc\u0027 and \u0027saml\u0027."},{"line_number":9,"context_line":"#   (Required) (string value)"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"da20952f_5e5f1ce5","line":6,"updated":"2015-08-27 19:53:21.000000000","message":"Usually (required)/(optional) is before this line","commit_id":"9064f92ca575f9cad6abeecde0a5435b30063214"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"b07895d23782b65da05b844e70d385bf5ce81e37","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# \u003d\u003d Parameters"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# [*protocol*]"},{"line_number":6,"context_line":"#   The protocol name that will we used to setup federation in Apache."},{"line_number":7,"context_line":"#   Allowed protocols are: OpenID Connect and SAML."},{"line_number":8,"context_line":"#   Values accepted are: \u0027openidc\u0027 and \u0027saml\u0027."},{"line_number":9,"context_line":"#   (Required) (string value)"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"da20952f_cf97f48e","line":6,"in_reply_to":"da20952f_5e5f1ce5","updated":"2015-08-27 20:52:50.000000000","message":"Thanks, will update","commit_id":"9064f92ca575f9cad6abeecde0a5435b30063214"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"6f5ad3f0b6f4b6c9533b1e091934e85d46dc395e","unresolved":false,"context_lines":[{"line_number":33,"context_line":") {"},{"line_number":34,"context_line":"  include ::keystone::params"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  if $protocol \u003d\u003d \u0027saml\u0027 {"},{"line_number":37,"context_line":"    if !($module in [\u0027shib\u0027,\u0027mellon\u0027]) {"},{"line_number":38,"context_line":"      fail (\u0027Invalid module. Allowed values are: shib, mellon.\u0027)"},{"line_number":39,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"da20952f_3ea908e0","line":36,"updated":"2015-08-27 19:53:21.000000000","message":"Rather than have these if statements, I think it might be better if they were in their own modules?\n\nFor example:\n keystone::federation::saml::shib\n keystone::federation::saml::melon\n keystone::federation::opidic","commit_id":"9064f92ca575f9cad6abeecde0a5435b30063214"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"b07895d23782b65da05b844e70d385bf5ce81e37","unresolved":false,"context_lines":[{"line_number":33,"context_line":") {"},{"line_number":34,"context_line":"  include ::keystone::params"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  if $protocol \u003d\u003d \u0027saml\u0027 {"},{"line_number":37,"context_line":"    if !($module in [\u0027shib\u0027,\u0027mellon\u0027]) {"},{"line_number":38,"context_line":"      fail (\u0027Invalid module. Allowed values are: shib, mellon.\u0027)"},{"line_number":39,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"da20952f_cfb05446","line":36,"in_reply_to":"da20952f_3ea908e0","updated":"2015-08-27 20:52:50.000000000","message":"Hi Alex, this was discussed in the spec (https://review.openstack.org/#/c/190361/25/specs/liberty/enabling-federation.rst line 166)","commit_id":"9064f92ca575f9cad6abeecde0a5435b30063214"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"6decf3a2edb3b1087e7cb7845bb60a5419f5ed26","unresolved":false,"context_lines":[{"line_number":33,"context_line":") {"},{"line_number":34,"context_line":"  include ::keystone::params"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  if $protocol \u003d\u003d \u0027saml\u0027 {"},{"line_number":37,"context_line":"    if !($module in [\u0027shib\u0027,\u0027mellon\u0027]) {"},{"line_number":38,"context_line":"      fail (\u0027Invalid module. Allowed values are: shib, mellon.\u0027)"},{"line_number":39,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"da20952f_6e2489ae","line":36,"in_reply_to":"da20952f_4f72034b","updated":"2015-08-28 12:09:40.000000000","message":"Well the common parameters may not exist anymore, because we will only change configurations in Keystone configuration files (keystone.conf and keystone-apache.conf) \n\nThe common attributes would be used in the configuration files of the protocols / modules chosen. For example when using SAML/Shibboleth configurations need to be apply to shibboleth2.xml and attribute-map.xml.","commit_id":"9064f92ca575f9cad6abeecde0a5435b30063214"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"c229bd863ef6fd646045dd9c0f51b52d0c24f841","unresolved":false,"context_lines":[{"line_number":33,"context_line":") {"},{"line_number":34,"context_line":"  include ::keystone::params"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"  if $protocol \u003d\u003d \u0027saml\u0027 {"},{"line_number":37,"context_line":"    if !($module in [\u0027shib\u0027,\u0027mellon\u0027]) {"},{"line_number":38,"context_line":"      fail (\u0027Invalid module. Allowed values are: shib, mellon.\u0027)"},{"line_number":39,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":2,"id":"da20952f_4f72034b","line":36,"in_reply_to":"da20952f_cfb05446","updated":"2015-08-27 21:40:27.000000000","message":"Yes I see that discussion, however seeing this code I have to disagree with using a single class to do it all. Perhaps it\u0027s not obvious because the common parameters aren\u0027t here yet? \n\nAt the moment, it\u0027s a mess of if clauses which is usually frowned upon no matter what language you\u0027re dealing with.  From an usability standpoint, I don\u0027t think this class is currently well structured for an operator to come in an understand how to configure it. I think by spitting it out into the provider specific classes it makes it easier for the end user to understand and only configure what they want. \n\nFor example, as an end user I want to configure saml with mellon and I see that the keystone class provides a keystone::federation:saml::mellon class. I can easily consume that vs trying to figure out what matching parameter methods need to be passed to the keystone::federation::service_provider.\n\nBasically, as it sits now I don\u0027t agree with having this complex if clause filled class as it is 1) hard to consume, 2) harder to follow and I bet 3) overly complex to test.\n\nFor me, this seems like it would go with a similar pattern that the puppetlabs-apache module uses for some modules. For example the worker, event and prefork modules have basically the same parameters.\n\n https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/mod/worker.pp\n https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/mod/event.pp\n https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/mod/prefork.pp\n\nAn end user will only be consuming a single one of these as they are mutually exclusive.  However, from a usability stand point it\u0027s very easy to consume and configure either one of these.  \n\nI\u0027m not dead set on it being split out, but I do think we should spend some time to discuss it based on what is here. I think also if you split them out, it allows for parallel development and we don\u0027t have merge conflicts all trying to operate on a single file (as indicated by the Implementation in other patch comments).  I just see this being very ugly when it is quite common to have individual classes to configure specific items for a piece of software.  I\u0027m not seeing enough commonality to warrant the single class.","commit_id":"9064f92ca575f9cad6abeecde0a5435b30063214"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"6f5ad3f0b6f4b6c9533b1e091934e85d46dc395e","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        }"},{"line_number":51,"context_line":"      }"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"      ensure_resource(\u0027package\u0027,\u0027libapache2-mod-shib2\u0027, {"},{"line_number":54,"context_line":"        ensure \u003d\u003e present"},{"line_number":55,"context_line":"      })"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":2,"id":"da20952f_de732c7f","line":53,"updated":"2015-08-27 19:53:21.000000000","message":"Would ensure_packages be better here? or is there a specific benefit to using ensure_resource?","commit_id":"9064f92ca575f9cad6abeecde0a5435b30063214"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"b07895d23782b65da05b844e70d385bf5ce81e37","unresolved":false,"context_lines":[{"line_number":50,"context_line":"        }"},{"line_number":51,"context_line":"      }"},{"line_number":52,"context_line":""},{"line_number":53,"context_line":"      ensure_resource(\u0027package\u0027,\u0027libapache2-mod-shib2\u0027, {"},{"line_number":54,"context_line":"        ensure \u003d\u003e present"},{"line_number":55,"context_line":"      })"},{"line_number":56,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":2,"id":"da20952f_0f7dec6d","line":53,"in_reply_to":"da20952f_de732c7f","updated":"2015-08-27 20:52:50.000000000","message":"Will update in the next patchset. Thanks","commit_id":"9064f92ca575f9cad6abeecde0a5435b30063214"}],"manifests/federation/shibboleth.pp":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"060bea60d554183f44314feaaf9f19ec6293c0c0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# [*methods*]"},{"line_number":18,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":19,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":20,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (list value)."},{"line_number":21,"context_line":"#  Note: If you are using Shibboleth (shib) external value should be dropped."},{"line_number":22,"context_line":"#"},{"line_number":23,"context_line":"# [*module_plugin*]"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_5661baa7","line":20,"updated":"2015-09-17 20:32:18.000000000","message":"You mean a string that is a list or an array?","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"046599fe6700a004a4f136c9a59412561261a191","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# [*methods*]"},{"line_number":18,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":19,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":20,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (list value)."},{"line_number":21,"context_line":"#  Note: If you are using Shibboleth (shib) external value should be dropped."},{"line_number":22,"context_line":"#"},{"line_number":23,"context_line":"# [*module_plugin*]"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_b114e0e8","line":20,"in_reply_to":"ba15a1d1_11f26c06","updated":"2015-09-17 21:00:19.000000000","message":"usually those types of things are an array and we will join with a \u0027,\u0027 before setting. We could support both by the use of any2array(...) which has been used lately to support both a string or an array along with the join.","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"d5769c97c2cc81937dd8dd3854519b96688f51d2","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# [*methods*]"},{"line_number":18,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":19,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":20,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (list value)."},{"line_number":21,"context_line":"#  Note: If you are using Shibboleth (shib) external value should be dropped."},{"line_number":22,"context_line":"#"},{"line_number":23,"context_line":"# [*module_plugin*]"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_d1cdd466","line":20,"in_reply_to":"ba15a1d1_31845009","updated":"2015-09-17 21:05:25.000000000","message":"Here\u0027s one of the discussions, https://review.openstack.org/#/c/220090/1/manifests/init.pp\n\nSince I know trying to find this stuff can be hard :)","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"ed72c8a245ca5bb0b80705974582adba385c67c4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# [*methods*]"},{"line_number":18,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":19,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":20,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (list value)."},{"line_number":21,"context_line":"#  Note: If you are using Shibboleth (shib) external value should be dropped."},{"line_number":22,"context_line":"#"},{"line_number":23,"context_line":"# [*module_plugin*]"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_11f26c06","line":20,"in_reply_to":"ba15a1d1_5661baa7","updated":"2015-09-17 20:57:38.000000000","message":"i was thinking in a string containing all authentication methods separated by commas, maybe this is not the best way,","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"ee415a68aa8ab264e6a690ff81bf575df0d5e896","unresolved":false,"context_lines":[{"line_number":17,"context_line":"# [*methods*]"},{"line_number":18,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":19,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":20,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (list value)."},{"line_number":21,"context_line":"#  Note: If you are using Shibboleth (shib) external value should be dropped."},{"line_number":22,"context_line":"#"},{"line_number":23,"context_line":"# [*module_plugin*]"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_31845009","line":20,"in_reply_to":"ba15a1d1_b114e0e8","updated":"2015-09-17 21:02:54.000000000","message":"I\u0027ll make a search about any2array code to understand. Thanks o/","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"060bea60d554183f44314feaaf9f19ec6293c0c0","unresolved":false,"context_lines":[{"line_number":26,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (string value)"},{"line_number":27,"context_line":"#"},{"line_number":28,"context_line":"class keystone::federation::shibboleth("},{"line_number":29,"context_line":"  $methods       \u003d undef,"},{"line_number":30,"context_line":"  $module_plugin \u003d undef,"},{"line_number":31,"context_line":") {"},{"line_number":32,"context_line":"  include ::keystone::params"}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_f649ee31","line":29,"updated":"2015-09-17 20:32:18.000000000","message":"If this is required, you should drop the \u0027\u003d undef\u0027.  Alternatively if saml2 is required as indicated by the code below, that should probably be the default.","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"060bea60d554183f44314feaaf9f19ec6293c0c0","unresolved":false,"context_lines":[{"line_number":27,"context_line":"#"},{"line_number":28,"context_line":"class keystone::federation::shibboleth("},{"line_number":29,"context_line":"  $methods       \u003d undef,"},{"line_number":30,"context_line":"  $module_plugin \u003d undef,"},{"line_number":31,"context_line":") {"},{"line_number":32,"context_line":"  include ::keystone::params"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_5608dad9","line":30,"updated":"2015-09-17 20:32:18.000000000","message":"If required, we should either not specify \u0027\u003d undef\u0027 or provide a default.","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"ed72c8a245ca5bb0b80705974582adba385c67c4","unresolved":false,"context_lines":[{"line_number":27,"context_line":"#"},{"line_number":28,"context_line":"class keystone::federation::shibboleth("},{"line_number":29,"context_line":"  $methods       \u003d undef,"},{"line_number":30,"context_line":"  $module_plugin \u003d undef,"},{"line_number":31,"context_line":") {"},{"line_number":32,"context_line":"  include ::keystone::params"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_b1e1402c","line":30,"in_reply_to":"ba15a1d1_5608dad9","updated":"2015-09-17 20:57:38.000000000","message":"i\u0027ll set to a default value in the next patchset.","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"060bea60d554183f44314feaaf9f19ec6293c0c0","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  })"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  keystone_config {"},{"line_number":51,"context_line":"    \u0027auth/methods\u0027: value \u003d\u003e $methods;"},{"line_number":52,"context_line":"    \u0027auth/saml2\u0027:   value \u003d\u003e $module_plugin;"},{"line_number":53,"context_line":"  }"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":3,"id":"ba15a1d1_d675ca63","line":51,"updated":"2015-09-17 20:32:18.000000000","message":"if this is an array, do we need to join with a \u0027,\u0027 for the configuration file?","commit_id":"3b7521827dec80c926b3b1f35eac94b1df44a490"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"f9aa99e37e9c8c60b09a4710dac111054839759b","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# \u003d\u003d Parameters"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# [*methods*]"},{"line_number":6,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":7,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":8,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (list value)."},{"line_number":9,"context_line":"#  Note: The external value should be dropped to avoid problems."}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_04d55ee3","line":6,"updated":"2015-09-24 11:33:01.000000000","message":"nit: move please (Required) to description\u0027 beginning (and below)","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"094f530ae9d9a2bb5c666685910b8aa7085aa8c0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# \u003d\u003d Parameters"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# [*methods*]"},{"line_number":6,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":7,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":8,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (list value)."},{"line_number":9,"context_line":"#  Note: The external value should be dropped to avoid problems."}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_9fbe9763","line":6,"in_reply_to":"ba15a1d1_04d55ee3","updated":"2015-09-24 11:45:07.000000000","message":"I\u0027ll let the Required and remove the Defaults information ok?","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"4ef155e583747ea0223a12739fcb9665bee67ede","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# \u003d\u003d Parameters"},{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# [*methods*]"},{"line_number":6,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":7,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":8,"context_line":"#  (Required) Defaults to \u0027undef\u0027 (list value)."},{"line_number":9,"context_line":"#  Note: The external value should be dropped to avoid problems."}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_2a44eb47","line":6,"in_reply_to":"ba15a1d1_9fbe9763","updated":"2015-09-24 11:53:42.000000000","message":"yep :)","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"f9aa99e37e9c8c60b09a4710dac111054839759b","unresolved":false,"context_lines":[{"line_number":19,"context_line":"#  (Required) Defaults to empty list (list value)."},{"line_number":20,"context_line":"#"},{"line_number":21,"context_line":"class keystone::federation::shibboleth("},{"line_number":22,"context_line":"  $methods       \u003d undef,"},{"line_number":23,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":24,"context_line":"  $ports         \u003d [],"},{"line_number":25,"context_line":") {"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_c49a0614","line":22,"updated":"2015-09-24 11:33:01.000000000","message":"This is required parameter, may be it shouldn\u0027t has \u0027undef\u0027?\nor\nBelow you mentioned, that \u0027methods\u0027 should have \u0027saml2\u0027. May be will be better put it here?","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"094f530ae9d9a2bb5c666685910b8aa7085aa8c0","unresolved":false,"context_lines":[{"line_number":19,"context_line":"#  (Required) Defaults to empty list (list value)."},{"line_number":20,"context_line":"#"},{"line_number":21,"context_line":"class keystone::federation::shibboleth("},{"line_number":22,"context_line":"  $methods       \u003d undef,"},{"line_number":23,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":24,"context_line":"  $ports         \u003d [],"},{"line_number":25,"context_line":") {"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_9ff0d768","line":22,"in_reply_to":"ba15a1d1_c49a0614","updated":"2015-09-24 11:45:07.000000000","message":"True, i\u0027ll put as Required only.","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"4ef155e583747ea0223a12739fcb9665bee67ede","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class keystone::federation::shibboleth("},{"line_number":22,"context_line":"  $methods       \u003d undef,"},{"line_number":23,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":24,"context_line":"  $ports         \u003d [],"},{"line_number":25,"context_line":") {"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  include ::keystone::wsgi::apache"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_aa76bba1","line":24,"updated":"2015-09-24 11:53:42.000000000","message":"The same as for \u0027methods\u0027 actually :) this is required parameter.","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"41aa86fd97c3d01ce852bebb8541c0d6477d6dbc","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class keystone::federation::shibboleth("},{"line_number":22,"context_line":"  $methods       \u003d undef,"},{"line_number":23,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":24,"context_line":"  $ports         \u003d [],"},{"line_number":25,"context_line":") {"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  include ::keystone::wsgi::apache"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_0ad567e3","line":24,"in_reply_to":"ba15a1d1_4a703f72","updated":"2015-09-24 12:05:56.000000000","message":"Yeah, because it also required parameter you can don\u0027t specify it:\n\nclass keystone::federation::shibboleth(\n  $methods,\n  $ports,\n  ....\n)","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"984c1f808982d79eee4759e2e1a5d7e74d1a256a","unresolved":false,"context_lines":[{"line_number":21,"context_line":"class keystone::federation::shibboleth("},{"line_number":22,"context_line":"  $methods       \u003d undef,"},{"line_number":23,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":24,"context_line":"  $ports         \u003d [],"},{"line_number":25,"context_line":") {"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  include ::keystone::wsgi::apache"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_4a703f72","line":24,"in_reply_to":"ba15a1d1_aa76bba1","updated":"2015-09-24 11:58:04.000000000","message":"You mean I can let just ports without the empty list right?","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"f9aa99e37e9c8c60b09a4710dac111054839759b","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    fail (\u0027Methods should contain saml2 as one of the auth methods.\u0027)"},{"line_number":35,"context_line":"  }else{"},{"line_number":36,"context_line":"    if ($module_plugin !\u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027) {"},{"line_number":37,"context_line":"      fail (\u0027The plugin for saml and shibboleth should be keystone.auth.plugins.mapped.Mapped\u0027)"},{"line_number":38,"context_line":"    }"},{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_bf0a7bd0","line":37,"updated":"2015-09-24 11:33:01.000000000","message":"in this case why do we give possibility to specify \u0027module_plugin\u0027?","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"4ef155e583747ea0223a12739fcb9665bee67ede","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    fail (\u0027Methods should contain saml2 as one of the auth methods.\u0027)"},{"line_number":35,"context_line":"  }else{"},{"line_number":36,"context_line":"    if ($module_plugin !\u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027) {"},{"line_number":37,"context_line":"      fail (\u0027The plugin for saml and shibboleth should be keystone.auth.plugins.mapped.Mapped\u0027)"},{"line_number":38,"context_line":"    }"},{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_6a074318","line":37,"in_reply_to":"ba15a1d1_5f9d5f08","updated":"2015-09-24 11:53:42.000000000","message":"I meant, that can we just put in config \u0027keystone.auth.plugins.mapped.Mapped\u0027 without variable? :)","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"094f530ae9d9a2bb5c666685910b8aa7085aa8c0","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    fail (\u0027Methods should contain saml2 as one of the auth methods.\u0027)"},{"line_number":35,"context_line":"  }else{"},{"line_number":36,"context_line":"    if ($module_plugin !\u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027) {"},{"line_number":37,"context_line":"      fail (\u0027The plugin for saml and shibboleth should be keystone.auth.plugins.mapped.Mapped\u0027)"},{"line_number":38,"context_line":"    }"},{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_5f9d5f08","line":37,"in_reply_to":"ba15a1d1_bf0a7bd0","updated":"2015-09-24 11:45:07.000000000","message":"The plugin have default value in this case, if the user want\u0027s to set and put a wrong value i need to validate after verify if saml2 is in methods.","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"4ef155e583747ea0223a12739fcb9665bee67ede","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  if !(\u00275000\u0027 in $ports or \u002735357\u0027 in $ports ){"},{"line_number":42,"context_line":"    fail(\u0027The values in ports can only be 5000 and 35357.\u0027)"},{"line_number":43,"context_line":"  }"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"  ensure_packges([\u0027libapache2-mod-shib2\u0027], {"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_ea6033d1","line":42,"updated":"2015-09-24 11:53:42.000000000","message":"I think you can also add validate_array before this if. Because someone can pass string for example. Or, you can manually use any2array :)","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"984c1f808982d79eee4759e2e1a5d7e74d1a256a","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  if !(\u00275000\u0027 in $ports or \u002735357\u0027 in $ports ){"},{"line_number":42,"context_line":"    fail(\u0027The values in ports can only be 5000 and 35357.\u0027)"},{"line_number":43,"context_line":"  }"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"  ensure_packges([\u0027libapache2-mod-shib2\u0027], {"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"ba15a1d1_ca3c4f95","line":42,"in_reply_to":"ba15a1d1_ea6033d1","updated":"2015-09-24 11:58:04.000000000","message":"i\u0027ll use_validate array, thanks.","commit_id":"cddfe9573958203fe0db21c69139679c39887e3c"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"a76bf14f562f5bd0badf7f3a01ee69a1721654b4","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    \u0027auth/saml2\u0027:   value \u003d\u003e $module_plugin;"},{"line_number":53,"context_line":"  }"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  ::apache::vhost { \u0027keystone_wsgi_main\u0027:"},{"line_number":56,"context_line":"    ensure                      \u003d\u003e \u0027present\u0027,"},{"line_number":57,"context_line":"    servername                  \u003d\u003e $::keystone::wsgi::apache::servername,"},{"line_number":58,"context_line":"    ip                          \u003d\u003e $::keystone::wsgi::apache::bind_host,"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"3a29b11f_7ae8d4e2","line":55,"updated":"2015-10-20 10:59:28.000000000","message":"such name is already declared in keystone::wsgi::apache. I think you should call this class, instead of using ::apache::vhost.\n\nif you want use both classes in same time: keystone::wsgi::apache and your, then you probably need to use ::openstacklib::wsgi::apache resource here.","commit_id":"f96e1f0c562c8970f7353042cd241ee771a5c4ba"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"dc313c53cdfca419133d87277a70815abcae2372","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    \u0027auth/saml2\u0027:   value \u003d\u003e $module_plugin;"},{"line_number":53,"context_line":"  }"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  ::apache::vhost { \u0027keystone_wsgi_main\u0027:"},{"line_number":56,"context_line":"    ensure                      \u003d\u003e \u0027present\u0027,"},{"line_number":57,"context_line":"    servername                  \u003d\u003e $::keystone::wsgi::apache::servername,"},{"line_number":58,"context_line":"    ip                          \u003d\u003e $::keystone::wsgi::apache::bind_host,"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"3a29b11f_bd789c90","line":55,"in_reply_to":"3a29b11f_7ae8d4e2","updated":"2015-10-20 14:18:29.000000000","message":"After create Keystone VirtuaHost conf files i need to modify the same file to add the custom fragment. I\u0027ll take a look at openstacklib.","commit_id":"f96e1f0c562c8970f7353042cd241ee771a5c4ba"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"dd7e6fb4d34679aab08dbaa72396d6f4c0cad290","unresolved":false,"context_lines":[{"line_number":52,"context_line":"    \u0027auth/saml2\u0027:   value \u003d\u003e $module_plugin;"},{"line_number":53,"context_line":"  }"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"  ::apache::vhost { \u0027keystone_wsgi_main\u0027:"},{"line_number":56,"context_line":"    ensure                      \u003d\u003e \u0027present\u0027,"},{"line_number":57,"context_line":"    servername                  \u003d\u003e $::keystone::wsgi::apache::servername,"},{"line_number":58,"context_line":"    ip                          \u003d\u003e $::keystone::wsgi::apache::bind_host,"}],"source_content_type":"text/x-puppet","patch_set":13,"id":"3a29b11f_004607bf","line":55,"in_reply_to":"3a29b11f_bd789c90","updated":"2015-10-20 14:44:57.000000000","message":"You need run keystone::wsgi::apache class with your custom fragment (as below).\n\nAnd you can try to add antoher sections with concat::fragment, for example:\n\n  concat { \u0027original-file\u0027: }\n\n  concat::fragment { \u0027original_config\u0027:\n    target \u003d\u003e \u0027original-file\u0027,\n    source \u003d\u003e \u0027original-file-path\u0027,\n    order  \u003d\u003e 1;\n  }\n\n  concat::fragment { \u0027keystone_federation\u0027:\n    target  \u003d\u003e \u0027original-file\u0027,\n    content \u003d\u003e template(\u0027keystone/your_template_file\u0027),\n    order   \u003d\u003e 2;\n  }","commit_id":"f96e1f0c562c8970f7353042cd241ee771a5c4ba"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"50243da7fbe4d62a79c2bead13d8877587e26bbf","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":25,"context_line":") {"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  include ::keystone::wsgi::apache"},{"line_number":28,"context_line":"  include ::apache::params"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  if (\u0027external\u0027 in $methods ) {"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3a29b11f_dc3213f2","line":27,"updated":"2015-10-21 09:06:12.000000000","message":"for adding yoor fragment you should call this class, instead of including.","commit_id":"7ab9f5d697cb434a40b038cb08b152a8e33097db"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"535dc995a227ec0aae9e8469ef34a2ea7de29f71","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":25,"context_line":") {"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"  include ::keystone::wsgi::apache"},{"line_number":28,"context_line":"  include ::apache::params"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"  if (\u0027external\u0027 in $methods ) {"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3a29b11f_b2b37e4c","line":27,"in_reply_to":"3a29b11f_dc3213f2","updated":"2015-10-22 13:37:32.000000000","message":"Done","commit_id":"7ab9f5d697cb434a40b038cb08b152a8e33097db"},{"author":{"_account_id":7604,"name":"Sergey Kolekonov","email":"skolekonov@mirantis.com","username":"skolekonov"},"change_message_id":"e5feabe650801bad1f907d579d44331dc190df4a","unresolved":false,"context_lines":[{"line_number":40,"context_line":"  }"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  validate_array($ports)"},{"line_number":43,"context_line":"  if !(\u00275000\u0027 in $ports or \u002735357\u0027 in $ports ){"},{"line_number":44,"context_line":"    fail(\u0027The values in ports can only be 5000 and 35357.\u0027)"},{"line_number":45,"context_line":"  }"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3a29b11f_d9e305a3","line":43,"updated":"2015-10-21 09:02:47.000000000","message":"I think this check is not enough to filter entries like \u00275000, 5555\u0027 if we allow only 5000 and 35357 ports","commit_id":"7ab9f5d697cb434a40b038cb08b152a8e33097db"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"535dc995a227ec0aae9e8469ef34a2ea7de29f71","unresolved":false,"context_lines":[{"line_number":40,"context_line":"  }"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"  validate_array($ports)"},{"line_number":43,"context_line":"  if !(\u00275000\u0027 in $ports or \u002735357\u0027 in $ports ){"},{"line_number":44,"context_line":"    fail(\u0027The values in ports can only be 5000 and 35357.\u0027)"},{"line_number":45,"context_line":"  }"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3a29b11f_92b8c22b","line":43,"in_reply_to":"3a29b11f_d9e305a3","updated":"2015-10-22 13:37:32.000000000","message":"Done","commit_id":"7ab9f5d697cb434a40b038cb08b152a8e33097db"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"50243da7fbe4d62a79c2bead13d8877587e26bbf","unresolved":false,"context_lines":[{"line_number":56,"context_line":"#    custom_fragment             \u003d\u003e \u0027WSGIScriptAliasMatch ^(/v3/OS-FEDERATION/identity_providers/.*?/protocols/.*"},{"line_number":57,"context_line":"#?/auth)$ /var/www/keystone/main/$1\u0027,"},{"line_number":58,"context_line":"  concat { \"${::apache::params::vhost_dir}/10-keystone_wsgi_admin.conf\":"},{"line_number":59,"context_line":"    ensure \u003d\u003e present,"},{"line_number":60,"context_line":"  }"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  concat::fragment { \u0027keystone_wsgi_admin\u0027:"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3a29b11f_7c0c1f3b","line":59,"updated":"2015-10-21 09:06:12.000000000","message":"I guess, we need require here for keystone::wsgi::apache class","commit_id":"7ab9f5d697cb434a40b038cb08b152a8e33097db"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"535dc995a227ec0aae9e8469ef34a2ea7de29f71","unresolved":false,"context_lines":[{"line_number":56,"context_line":"#    custom_fragment             \u003d\u003e \u0027WSGIScriptAliasMatch ^(/v3/OS-FEDERATION/identity_providers/.*?/protocols/.*"},{"line_number":57,"context_line":"#?/auth)$ /var/www/keystone/main/$1\u0027,"},{"line_number":58,"context_line":"  concat { \"${::apache::params::vhost_dir}/10-keystone_wsgi_admin.conf\":"},{"line_number":59,"context_line":"    ensure \u003d\u003e present,"},{"line_number":60,"context_line":"  }"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"  concat::fragment { \u0027keystone_wsgi_admin\u0027:"}],"source_content_type":"text/x-puppet","patch_set":15,"id":"3a29b11f_52854a57","line":59,"in_reply_to":"3a29b11f_7c0c1f3b","updated":"2015-10-22 13:37:32.000000000","message":"Done","commit_id":"7ab9f5d697cb434a40b038cb08b152a8e33097db"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"dbe9795469d22734e038ac458c3b1f6e7a15fbc5","unresolved":false,"context_lines":[{"line_number":61,"context_line":"#    custom_fragment             \u003d\u003e \u0027WSGIScriptAliasMatch ^(/v3/OS-FEDERATION/identity_providers/.*?/protocols/.*"},{"line_number":62,"context_line":"#?/auth)$ /var/www/keystone/main/$1\u0027,"},{"line_number":63,"context_line":"#  concat { \"${::apache::params::vhost_dir}/10-keystone_wsgi_admin.conf\":"},{"line_number":64,"context_line":"#    ensure \u003d\u003e present,"},{"line_number":65,"context_line":"#  }"},{"line_number":66,"context_line":"#"},{"line_number":67,"context_line":"#  concat::fragment { \u0027keystone_wsgi_admin\u0027:"}],"source_content_type":"text/x-puppet","patch_set":17,"id":"3a29b11f_f31ed80a","line":64,"updated":"2015-10-22 14:26:44.000000000","message":"you still need this... :)","commit_id":"9023310ed07cdab20327e389d455755b99c95650"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"a9cad19664ce2f902662278cc1785d6e79a26a02","unresolved":false,"context_lines":[{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  validate_array($ports)"},{"line_number":42,"context_line":"  each($ports) |$port| {"},{"line_number":43,"context_line":"    if !(\u00275000\u0027 in $port or \u002735357\u0027 in $port ){"},{"line_number":44,"context_line":"      fail(\u0027The values in ports can only be 5000 and 35357.\u0027)"},{"line_number":45,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":18,"id":"3a29b11f_94a747bc","line":42,"updated":"2015-10-22 16:13:41.000000000","message":"https://docs.puppetlabs.com/puppet/latest/reference/lang_iteration.html#common-lambda-arguments","commit_id":"28f797682daf46455f1bf88c0e548729607b3d08"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"f611b0f90f371c99d3082bad5dae39eeb5f737ad","unresolved":false,"context_lines":[{"line_number":51,"context_line":"    fail (\u0027No VirtualHost port to configure, please choose at least one.\u0027)"},{"line_number":52,"context_line":"  }"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  ensure_packages([\u0027libapache2-mod-shib2\u0027], {"},{"line_number":55,"context_line":"    ensure \u003d\u003e present"},{"line_number":56,"context_line":"  })"},{"line_number":57,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":31,"id":"fa80f949_90cf7b28","line":54,"updated":"2015-11-06 13:36:52.000000000","message":"It seems package\u0027s name is different on centos.  According to https://wiki.shibboleth.net/confluence/display/SHIB2/NativeSPLinuxRPMInstall it seems to be \"shibboleth\".  It seems it requires a repo as well.","commit_id":"55c6750d4f52a965d3f9e656672ff470307b535b"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"1f6d7ee4c28e3050f067a058d195af0738795de2","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":31,"context_line":") {"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  include ::apache"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  if (\u0027external\u0027 in $methods ) {"},{"line_number":36,"context_line":"    fail (\u0027The external method should be dropped to avoid any interference with some Apache + Shibboleth SP setups, where a REMOTE_USER env variable is always set, even as an empty value.\u0027)"}],"source_content_type":"text/x-puppet","patch_set":50,"id":"da85f559_27e54edb","line":33,"updated":"2015-11-10 18:45:28.000000000","message":"In the vhost define from puppetlab there is code for shibboleth.\n\nYou can use\n\n  Apache::Mod[\u0027shib2\u0027]\n\nand some stuff will happen (check here : https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/vhost.pp#L306)\n\nIn the directory template there are some code but you cannot access it I guess, but it\u0027s worth a look:\n\nhttps://github.com/puppetlabs/puppetlabs-apache/blob/master/templates/vhost/_directories.erb#L247","commit_id":"13904446704b558cd46fd57a4e8b2a123ace1db3"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"1f6d7ee4c28e3050f067a058d195af0738795de2","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"      concat::fragment { \u0027open_location\u0027:"},{"line_number":81,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":82,"context_line":"        content \u003d\u003e \u0027\u003cLocation /Shibboleth.sso\u003e\u0027,"},{"line_number":83,"context_line":"        order   \u003d\u003e 1000,"},{"line_number":84,"context_line":"      }"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":50,"id":"da85f559_87a8ba8e","line":82,"updated":"2015-11-10 18:45:28.000000000","message":"You can use the template here, no problem as soon as the order is fixed it will be included.","commit_id":"13904446704b558cd46fd57a4e8b2a123ace1db3"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"06a2f3de39c90a7f95b61f0395ac2ba611b049ed","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":"      concat::fragment { \u0027open_location\u0027:"},{"line_number":81,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":82,"context_line":"        content \u003d\u003e \u0027\u003cLocation /Shibboleth.sso\u003e\u0027,"},{"line_number":83,"context_line":"        order   \u003d\u003e 1000,"},{"line_number":84,"context_line":"      }"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":50,"id":"da85f559_c18eb2cf","line":82,"updated":"2015-11-10 18:05:19.000000000","message":"You should add a newline at the end like this:\n\ncontent \u003d\u003e \"\u003cLocation /Shibboleth.sso\u003e\\n\",","commit_id":"13904446704b558cd46fd57a4e8b2a123ace1db3"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"1f6d7ee4c28e3050f067a058d195af0738795de2","unresolved":false,"context_lines":[{"line_number":80,"context_line":"      concat::fragment { \u0027open_location\u0027:"},{"line_number":81,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":82,"context_line":"        content \u003d\u003e \u0027\u003cLocation /Shibboleth.sso\u003e\u0027,"},{"line_number":83,"context_line":"        order   \u003d\u003e 1000,"},{"line_number":84,"context_line":"      }"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"      concat::fragment { \u0027inside_location\u0027:"}],"source_content_type":"text/x-puppet","patch_set":50,"id":"da85f559_a7effee7","line":83,"updated":"2015-11-10 18:45:28.000000000","message":"The order _must_ be between \u003e320 and \u003c999 as seen there https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/vhost.pp#L964","commit_id":"13904446704b558cd46fd57a4e8b2a123ace1db3"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"06a2f3de39c90a7f95b61f0395ac2ba611b049ed","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"      concat::fragment { \u0027inside_location\u0027:"},{"line_number":87,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":88,"context_line":"        content \u003d\u003e \u0027  SetHandler shib\u0027,"},{"line_number":89,"context_line":"        order   \u003d\u003e 1001,"},{"line_number":90,"context_line":"      }"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":50,"id":"da85f559_41b96278","line":88,"updated":"2015-11-10 18:05:19.000000000","message":"Idem","commit_id":"13904446704b558cd46fd57a4e8b2a123ace1db3"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"1f6d7ee4c28e3050f067a058d195af0738795de2","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"      concat::fragment { \u0027inside_location\u0027:"},{"line_number":87,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":88,"context_line":"        content \u003d\u003e \u0027  SetHandler shib\u0027,"},{"line_number":89,"context_line":"        order   \u003d\u003e 1001,"},{"line_number":90,"context_line":"      }"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":50,"id":"da85f559_87c19a56","line":88,"in_reply_to":"da85f559_41b96278","updated":"2015-11-10 18:45:28.000000000","message":"Idem for newline and order","commit_id":"13904446704b558cd46fd57a4e8b2a123ace1db3"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"06a2f3de39c90a7f95b61f0395ac2ba611b049ed","unresolved":false,"context_lines":[{"line_number":91,"context_line":""},{"line_number":92,"context_line":"      concat::fragment { \u0027close_location\u0027:"},{"line_number":93,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":94,"context_line":"        content \u003d\u003e \u0027\u003c/Location\u003e\u0027,"},{"line_number":95,"context_line":"        order   \u003d\u003e 1002,"},{"line_number":96,"context_line":"      }"},{"line_number":97,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":50,"id":"da85f559_01b03a89","line":94,"updated":"2015-11-10 18:05:19.000000000","message":"Idem","commit_id":"13904446704b558cd46fd57a4e8b2a123ace1db3"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"1f6d7ee4c28e3050f067a058d195af0738795de2","unresolved":false,"context_lines":[{"line_number":92,"context_line":"      concat::fragment { \u0027close_location\u0027:"},{"line_number":93,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":94,"context_line":"        content \u003d\u003e \u0027\u003c/Location\u003e\u0027,"},{"line_number":95,"context_line":"        order   \u003d\u003e 1002,"},{"line_number":96,"context_line":"      }"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":50,"id":"da85f559_47b732f5","line":95,"updated":"2015-11-10 18:45:28.000000000","message":"Order too high","commit_id":"13904446704b558cd46fd57a4e8b2a123ace1db3"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"42c64c0672c70afa2e28f2dd1ff6d6938afd322a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":31,"context_line":") {"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  include ::apache"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  if (\u0027external\u0027 in $methods ) {"},{"line_number":36,"context_line":"    fail (\u0027The external method should be dropped to avoid any interference with some Apache + Shibboleth SP setups, where a REMOTE_USER env variable is always set, even as an empty value.\u0027)"}],"source_content_type":"text/x-puppet","patch_set":52,"id":"da85f559_e372d110","line":33,"updated":"2015-11-10 22:56:05.000000000","message":"You forgot to enable the module, it is done in rhel package but in ~debian, you have to explicitely enable it:\n\n  class { \u0027apache::mod::shib\u0027: }\n\nWill do.  It will aslo install the package required for the mod.  On rhel you will have to enable the repo though:\n\nhttp://wiki.aaf.edu.au/tech-info/sp-install-guide\n\nsee next comment for why it could be a good idea to break the rules here.","commit_id":"c17290dbdf9d7d1cba3c7db8028f82e774dd549b"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"0fd54529163011565d0ad9f4b937323472eed6d3","unresolved":false,"context_lines":[{"line_number":30,"context_line":"  $module_plugin \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":31,"context_line":") {"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"  include ::apache"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"  if (\u0027external\u0027 in $methods ) {"},{"line_number":36,"context_line":"    fail (\u0027The external method should be dropped to avoid any interference with some Apache + Shibboleth SP setups, where a REMOTE_USER env variable is always set, even as an empty value.\u0027)"}],"source_content_type":"text/x-puppet","patch_set":52,"id":"da85f559_8f91a449","line":33,"in_reply_to":"da85f559_e372d110","updated":"2015-11-11 00:55:27.000000000","message":"ok i\u0027ll put class { \u0027apache::mod::shib\u0027: } shouldn\u0027t be \u0027::apache::mod::shib\u0027: ? It is a good idea but the consensus is to not manage other repos. \u003d/","commit_id":"c17290dbdf9d7d1cba3c7db8028f82e774dd549b"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"42c64c0672c70afa2e28f2dd1ff6d6938afd322a","unresolved":false,"context_lines":[{"line_number":60,"context_line":"  if ($::osfamily \u003d\u003d \u0027Debian\u0027){"},{"line_number":61,"context_line":"    ensure_packages([\u0027libapache2-mod-shib2\u0027], {"},{"line_number":62,"context_line":"      ensure \u003d\u003e present,"},{"line_number":63,"context_line":"    })"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    if $admin_port {"},{"line_number":66,"context_line":"      concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"}],"source_content_type":"text/x-puppet","patch_set":52,"id":"da85f559_fea82879","line":63,"updated":"2015-11-10 22:56:05.000000000","message":"This is unecessary when using \n  \n  class { \u0027apache::mod::shib\u0027: }\n\nsee the code in puppetlabs::apache::params and apache::mod.  The package is installed there.\n\nNote that redhat will fails unless we enable the repo.  As seen there https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/params.pp#L88 the case is explicitely stated by puppetlabs.\n\nMaybe that would be interesting to add the repo here in a\n\n  $::osfamily \u003d\u003d \u0027RedHat\u0027 or $::operatingsystem \u003d\u003d \u0027amazon\u0027\n\nfollowing the puppetlabs settings.  I think this is a good place to break the rules.\n\nYou can then discard the $::osfamily \u003d\u003d \u0027debian\u0027","commit_id":"c17290dbdf9d7d1cba3c7db8028f82e774dd549b"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"0fd54529163011565d0ad9f4b937323472eed6d3","unresolved":false,"context_lines":[{"line_number":60,"context_line":"  if ($::osfamily \u003d\u003d \u0027Debian\u0027){"},{"line_number":61,"context_line":"    ensure_packages([\u0027libapache2-mod-shib2\u0027], {"},{"line_number":62,"context_line":"      ensure \u003d\u003e present,"},{"line_number":63,"context_line":"    })"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"    if $admin_port {"},{"line_number":66,"context_line":"      concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"}],"source_content_type":"text/x-puppet","patch_set":52,"id":"da85f559_8ff0c468","line":63,"in_reply_to":"da85f559_fea82879","updated":"2015-11-11 00:55:27.000000000","message":"When Emilien come back i\u0027ll talk to him. I think it is worth to try since it says in the puppetlabs apache","commit_id":"c17290dbdf9d7d1cba3c7db8028f82e774dd549b"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"42c64c0672c70afa2e28f2dd1ff6d6938afd322a","unresolved":false,"context_lines":[{"line_number":66,"context_line":"      concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"},{"line_number":67,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_admin.conf\","},{"line_number":68,"context_line":"        content \u003d\u003e template(\u0027keystone/shibboleth.conf.erb\u0027),"},{"line_number":69,"context_line":"        order   \u003d\u003e 321,"},{"line_number":70,"context_line":"      }"},{"line_number":71,"context_line":"    }"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":52,"id":"da85f559_fe726810","line":69,"updated":"2015-11-10 22:56:05.000000000","message":"You should put this in a variable and explain why you choose this value as we discussed on irc.","commit_id":"c17290dbdf9d7d1cba3c7db8028f82e774dd549b"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"0fd54529163011565d0ad9f4b937323472eed6d3","unresolved":false,"context_lines":[{"line_number":66,"context_line":"      concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"},{"line_number":67,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_admin.conf\","},{"line_number":68,"context_line":"        content \u003d\u003e template(\u0027keystone/shibboleth.conf.erb\u0027),"},{"line_number":69,"context_line":"        order   \u003d\u003e 321,"},{"line_number":70,"context_line":"      }"},{"line_number":71,"context_line":"    }"},{"line_number":72,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":52,"id":"da85f559_ef4950b8","line":69,"in_reply_to":"da85f559_fe726810","updated":"2015-11-11 00:55:27.000000000","message":"Sure ^^","commit_id":"c17290dbdf9d7d1cba3c7db8028f82e774dd549b"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"42c64c0672c70afa2e28f2dd1ff6d6938afd322a","unresolved":false,"context_lines":[{"line_number":74,"context_line":"      concat::fragment { \u0027location_tag\u0027:"},{"line_number":75,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":76,"context_line":"        content \u003d\u003e template(\u0027keystone/shibboleth.conf.erb\u0027),"},{"line_number":77,"context_line":"        order   \u003d\u003e 321,"},{"line_number":78,"context_line":"      }"},{"line_number":79,"context_line":"    }"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":52,"id":"da85f559_9e623c3d","line":77,"updated":"2015-11-10 22:56:05.000000000","message":"Idem","commit_id":"c17290dbdf9d7d1cba3c7db8028f82e774dd549b"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"0fd54529163011565d0ad9f4b937323472eed6d3","unresolved":false,"context_lines":[{"line_number":74,"context_line":"      concat::fragment { \u0027location_tag\u0027:"},{"line_number":75,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_main.conf\","},{"line_number":76,"context_line":"        content \u003d\u003e template(\u0027keystone/shibboleth.conf.erb\u0027),"},{"line_number":77,"context_line":"        order   \u003d\u003e 321,"},{"line_number":78,"context_line":"      }"},{"line_number":79,"context_line":"    }"},{"line_number":80,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":52,"id":"da85f559_aff58857","line":77,"in_reply_to":"da85f559_9e623c3d","updated":"2015-11-11 00:55:27.000000000","message":"Done","commit_id":"c17290dbdf9d7d1cba3c7db8028f82e774dd549b"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"da90a2100574608b51185e3293da3de0586542ce","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#  (Optional) Defaults to true."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# [*methods*]"},{"line_number":16,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":17,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":18,"context_line":"#  (Required) (string or list value)."},{"line_number":19,"context_line":"#  Note: The external value should be dropped to avoid problems."}],"source_content_type":"text/x-puppet","patch_set":54,"id":"da85f559_76b92aec","line":16,"updated":"2015-11-13 12:12:15.000000000","message":"you should add \"or an array\"","commit_id":"706fbb4567716e83e753583d3cf4f09e268cc831"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"55763d5f63a70703b05076a7a00396fd48d2484d","unresolved":false,"context_lines":[{"line_number":13,"context_line":"#  (Optional) Defaults to true."},{"line_number":14,"context_line":"#"},{"line_number":15,"context_line":"# [*methods*]"},{"line_number":16,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":17,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":18,"context_line":"#  (Required) (string or list value)."},{"line_number":19,"context_line":"#  Note: The external value should be dropped to avoid problems."}],"source_content_type":"text/x-puppet","patch_set":54,"id":"da85f559_6745f215","line":16,"in_reply_to":"da85f559_76b92aec","updated":"2015-11-13 13:06:21.000000000","message":"Done","commit_id":"706fbb4567716e83e753583d3cf4f09e268cc831"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"da90a2100574608b51185e3293da3de0586542ce","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# [*methods*]"},{"line_number":16,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":17,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":18,"context_line":"#  (Required) (string or list value)."},{"line_number":19,"context_line":"#  Note: The external value should be dropped to avoid problems."},{"line_number":20,"context_line":"#"},{"line_number":21,"context_line":"# [*module_plugin*]"}],"source_content_type":"text/x-puppet","patch_set":54,"id":"da85f559_b6c79263","line":18,"updated":"2015-11-13 12:12:15.000000000","message":"You should change list to array.","commit_id":"706fbb4567716e83e753583d3cf4f09e268cc831"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"55763d5f63a70703b05076a7a00396fd48d2484d","unresolved":false,"context_lines":[{"line_number":15,"context_line":"# [*methods*]"},{"line_number":16,"context_line":"#  A list of methods used for authentication separated by comma."},{"line_number":17,"context_line":"#  The allowed values are: \u0027external\u0027, \u0027password\u0027, \u0027token\u0027, \u0027oauth1\u0027, \u0027saml2\u0027"},{"line_number":18,"context_line":"#  (Required) (string or list value)."},{"line_number":19,"context_line":"#  Note: The external value should be dropped to avoid problems."},{"line_number":20,"context_line":"#"},{"line_number":21,"context_line":"# [*module_plugin*]"}],"source_content_type":"text/x-puppet","patch_set":54,"id":"da85f559_4740ee07","line":18,"in_reply_to":"da85f559_b6c79263","updated":"2015-11-13 13:06:21.000000000","message":"Done","commit_id":"706fbb4567716e83e753583d3cf4f09e268cc831"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"da90a2100574608b51185e3293da3de0586542ce","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    \u0027auth/saml2\u0027:   value \u003d\u003e $module_plugin;"},{"line_number":71,"context_line":"  }"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"# in Redhat we need to enable another repository"},{"line_number":74,"context_line":"  if ($::osfamily \u003d\u003d \u0027Debian\u0027) {"},{"line_number":75,"context_line":"    class { \u0027::apache::mod::shib\u0027: }"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":54,"id":"da85f559_b3ac848d","line":73,"updated":"2015-11-13 12:12:15.000000000","message":"I, for one, would be in favor of installing the required repo as it would leverage the code in the puppetlab apache mod class which, if the repo is there, install all the necessary package (right naming and all).  As a wrapper code, that would make sense, IMHO.\n\nWould like to hear what other are thinking.","commit_id":"706fbb4567716e83e753583d3cf4f09e268cc831"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"55763d5f63a70703b05076a7a00396fd48d2484d","unresolved":false,"context_lines":[{"line_number":70,"context_line":"    \u0027auth/saml2\u0027:   value \u003d\u003e $module_plugin;"},{"line_number":71,"context_line":"  }"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"# in Redhat we need to enable another repository"},{"line_number":74,"context_line":"  if ($::osfamily \u003d\u003d \u0027Debian\u0027) {"},{"line_number":75,"context_line":"    class { \u0027::apache::mod::shib\u0027: }"},{"line_number":76,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":54,"id":"da85f559_870496c6","line":73,"in_reply_to":"da85f559_b3ac848d","updated":"2015-11-13 13:06:21.000000000","message":"In the next meeting we can discuss with the Emilien and cores.","commit_id":"706fbb4567716e83e753583d3cf4f09e268cc831"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"609e6e142b4418050aa918593bacea7267aa1975","unresolved":false,"context_lines":[{"line_number":23,"context_line":"#  module."},{"line_number":24,"context_line":"#  (Optional) Defaults to \u0027keystone.auth.plugins.mapped.Mapped\u0027 (string value)"},{"line_number":25,"context_line":"#"},{"line_number":26,"context_line":"# [*suppress_warning*]"},{"line_number":27,"context_line":"#  A boolean value to disable the warning about not installing shibboleth on RedHat."},{"line_number":28,"context_line":"#  (Optional) Defaults to false."},{"line_number":29,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":56,"id":"ba8a016a_1f111d5d","line":26,"updated":"2015-11-19 16:33:21.000000000","message":"Why you set it to false?","commit_id":"c878e74821afc683b18ddab5c5ba4cdee2508159"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"de92706d760f7c0f9eb210ce0e1a1186e0dc1737","unresolved":false,"context_lines":[{"line_number":23,"context_line":"#  module."},{"line_number":24,"context_line":"#  (Optional) Defaults to \u0027keystone.auth.plugins.mapped.Mapped\u0027 (string value)"},{"line_number":25,"context_line":"#"},{"line_number":26,"context_line":"# [*suppress_warning*]"},{"line_number":27,"context_line":"#  A boolean value to disable the warning about not installing shibboleth on RedHat."},{"line_number":28,"context_line":"#  (Optional) Defaults to false."},{"line_number":29,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":56,"id":"ba8a016a_74840b0a","line":26,"in_reply_to":"ba8a016a_1f111d5d","updated":"2015-11-19 16:58:15.000000000","message":"By default i\u0027ll show a warning when this run on RedHat, in the meeting calyton ask about a flag to disable the warning so i add suppress_warning (false -\u003e the warning will appear, true -\u003e the warning will not appear) line 105.","commit_id":"c878e74821afc683b18ddab5c5ba4cdee2508159"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"3747ba8b2ba837edf49589d1d2adf81d04cc7bc4","unresolved":false,"context_lines":[{"line_number":31,"context_line":"#  This number indicates the order for the concat::fragment that will apply"},{"line_number":32,"context_line":"#  the shibboleth configuration to Keystone VirtualHost. The value should"},{"line_number":33,"context_line":"#  The value should be greater than 330 an less then 999, according to:"},{"line_number":34,"context_line":"#  https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/vhost.pp#L970"},{"line_number":35,"context_line":"#  https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/vhost.pp#L978"},{"line_number":36,"context_line":"#  (Optional) Defaults to 331."},{"line_number":37,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_810b3d2b","line":34,"updated":"2015-11-20 14:45:55.000000000","message":"same here","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"97c1169661cc369632e6239d98f04d4610edaac8","unresolved":false,"context_lines":[{"line_number":31,"context_line":"#  This number indicates the order for the concat::fragment that will apply"},{"line_number":32,"context_line":"#  the shibboleth configuration to Keystone VirtualHost. The value should"},{"line_number":33,"context_line":"#  The value should be greater than 330 an less then 999, according to:"},{"line_number":34,"context_line":"#  https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/vhost.pp#L970"},{"line_number":35,"context_line":"#  https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/vhost.pp#L978"},{"line_number":36,"context_line":"#  (Optional) Defaults to 331."},{"line_number":37,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_c51cee15","line":34,"in_reply_to":"ba8a016a_810b3d2b","updated":"2015-11-20 15:20:58.000000000","message":"Done","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"3747ba8b2ba837edf49589d1d2adf81d04cc7bc4","unresolved":false,"context_lines":[{"line_number":38,"context_line":"# \u003d\u003d Note about Redhat osfamily"},{"line_number":39,"context_line":"#    According to puppet-apache we need to enable a new repo, but in puppet-openstack"},{"line_number":40,"context_line":"#    we won\u0027t enable any exteral third party repo."},{"line_number":41,"context_line":"#    https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/params.pp#L88"},{"line_number":42,"context_line":"#"},{"line_number":43,"context_line":"class keystone::federation::shibboleth("},{"line_number":44,"context_line":"  $methods,"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_c13945f4","line":41,"updated":"2015-11-20 14:45:55.000000000","message":"I would rather use an atomic URL to make sure we found the right information at anytime. Because if this file change, the link will be invalid.","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"5af6efd75db25ff543a7bb811816f6cd4293f80c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"# \u003d\u003d Note about Redhat osfamily"},{"line_number":39,"context_line":"#    According to puppet-apache we need to enable a new repo, but in puppet-openstack"},{"line_number":40,"context_line":"#    we won\u0027t enable any exteral third party repo."},{"line_number":41,"context_line":"#    https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/params.pp#L88"},{"line_number":42,"context_line":"#"},{"line_number":43,"context_line":"class keystone::federation::shibboleth("},{"line_number":44,"context_line":"  $methods,"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_88b59d32","line":41,"in_reply_to":"ba8a016a_05ce76b4","updated":"2015-11-20 15:35:13.000000000","message":"remove the comma in the link  http://wiki.aaf.edu.au/tech-info/sp-install-guide","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"97c1169661cc369632e6239d98f04d4610edaac8","unresolved":false,"context_lines":[{"line_number":38,"context_line":"# \u003d\u003d Note about Redhat osfamily"},{"line_number":39,"context_line":"#    According to puppet-apache we need to enable a new repo, but in puppet-openstack"},{"line_number":40,"context_line":"#    we won\u0027t enable any exteral third party repo."},{"line_number":41,"context_line":"#    https://github.com/puppetlabs/puppetlabs-apache/blob/master/manifests/params.pp#L88"},{"line_number":42,"context_line":"#"},{"line_number":43,"context_line":"class keystone::federation::shibboleth("},{"line_number":44,"context_line":"  $methods,"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_05ce76b4","line":41,"in_reply_to":"ba8a016a_c13945f4","updated":"2015-11-20 15:20:58.000000000","message":"i\u0027ll switch to http://wiki.aaf.edu.au/tech-info/sp-install-guide, can be?","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"3747ba8b2ba837edf49589d1d2adf81d04cc7bc4","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  if $::osfamily \u003d\u003d \u0027Debian\u0027 {"},{"line_number":85,"context_line":"    class { \u0027::apache::mod::shib\u0027: }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    if $admin_port {"},{"line_number":88,"context_line":"      concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"},{"line_number":89,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_admin.conf\","},{"line_number":90,"context_line":"        content \u003d\u003e template(\u0027keystone/shibboleth.conf.erb\u0027),"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_dc7fea64","line":87,"updated":"2015-11-20 14:45:55.000000000","message":"why do you include both concats only for debian? what is I run redhat?\n\nif I manage the repo myself but I still want to benefit from the concat thing, how can I do that?\n\nThere is a logic issue I think.","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"9d658e8043022e41715461e4505be5992f29961d","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  if $::osfamily \u003d\u003d \u0027Debian\u0027 {"},{"line_number":85,"context_line":"    class { \u0027::apache::mod::shib\u0027: }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    if $admin_port {"},{"line_number":88,"context_line":"      concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"},{"line_number":89,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_admin.conf\","},{"line_number":90,"context_line":"        content \u003d\u003e template(\u0027keystone/shibboleth.conf.erb\u0027),"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_decc8263","line":87,"in_reply_to":"ba8a016a_4bf1c1cc","updated":"2015-11-23 11:54:45.000000000","message":"If I let the concat::fragment work on the virtualhost without shibboleth installed, the apache server can\u0027t restart (this will make the CI fail).","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"9a885070b8e36bbee92e42964bbc0ecc2880f516","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  if $::osfamily \u003d\u003d \u0027Debian\u0027 {"},{"line_number":85,"context_line":"    class { \u0027::apache::mod::shib\u0027: }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    if $admin_port {"},{"line_number":88,"context_line":"      concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"},{"line_number":89,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_admin.conf\","},{"line_number":90,"context_line":"        content \u003d\u003e template(\u0027keystone/shibboleth.conf.erb\u0027),"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_4bf1c1cc","line":87,"in_reply_to":"ba8a016a_c564eee6","updated":"2015-11-23 07:26:03.000000000","message":"You don\u0027t need to check if the package is installed I think.\nJust allowing the user to use deploy the fragments, even though the apache module is not managed here. We can consider people managing the module on their own but just allow puppet-keystone to configure the fragments (you can create a boolean, like \"configure_shibooleth_admin\" and the other.\nAlso, let the end-user configure the port, it might be useful for flexibility.","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"97c1169661cc369632e6239d98f04d4610edaac8","unresolved":false,"context_lines":[{"line_number":84,"context_line":"  if $::osfamily \u003d\u003d \u0027Debian\u0027 {"},{"line_number":85,"context_line":"    class { \u0027::apache::mod::shib\u0027: }"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    if $admin_port {"},{"line_number":88,"context_line":"      concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"},{"line_number":89,"context_line":"        target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_admin.conf\","},{"line_number":90,"context_line":"        content \u003d\u003e template(\u0027keystone/shibboleth.conf.erb\u0027),"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_c564eee6","line":87,"in_reply_to":"ba8a016a_dc7fea64","updated":"2015-11-20 15:20:58.000000000","message":"On RedHat one approach for this can be:\n1-verify if the package is installed on the system, if it\u0027s apply the concat::fragment.\n2-verify if the repository is set and install shibboleth and apply the concat::fragment\nWhat do you think?","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"3747ba8b2ba837edf49589d1d2adf81d04cc7bc4","unresolved":false,"context_lines":[{"line_number":102,"context_line":"  }"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"  if $::osfamily \u003d\u003d \u0027RedHat\u0027 {"},{"line_number":105,"context_line":"    if $suppress_warning \u003d\u003d false {"},{"line_number":106,"context_line":"      warning( \u0027Can not configure Shibboleth in Apache on RedHat OS.Read the Note on this federation/shibboleth.pp\u0027 )"},{"line_number":107,"context_line":"    }"},{"line_number":108,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_9c3642e6","line":105,"updated":"2015-11-20 14:45:55.000000000","message":"\u003d\u003d false is useless: if ! $suppress_warning is enough.","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"97c1169661cc369632e6239d98f04d4610edaac8","unresolved":false,"context_lines":[{"line_number":102,"context_line":"  }"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"  if $::osfamily \u003d\u003d \u0027RedHat\u0027 {"},{"line_number":105,"context_line":"    if $suppress_warning \u003d\u003d false {"},{"line_number":106,"context_line":"      warning( \u0027Can not configure Shibboleth in Apache on RedHat OS.Read the Note on this federation/shibboleth.pp\u0027 )"},{"line_number":107,"context_line":"    }"},{"line_number":108,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":57,"id":"ba8a016a_4299d41e","line":105,"in_reply_to":"ba8a016a_9c3642e6","updated":"2015-11-20 15:20:58.000000000","message":"Done","commit_id":"654953c9aecd0ed54b3792df226cb20f86a1dfe8"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5b3ec50e860cee8a3f4c385d4aafb98b62e9e6ae","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  $main_port        \u003d true,"},{"line_number":49,"context_line":"  $module_plugin    \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":50,"context_line":"  $suppress_warning \u003d false,"},{"line_number":51,"context_line":"  $template_order   \u003d 331,"},{"line_number":52,"context_line":") {"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  include ::apache"}],"source_content_type":"text/x-puppet","patch_set":58,"id":"ba8a016a_bdb2e1e3","line":51,"updated":"2015-11-23 13:09:08.000000000","message":"what does 331 mean?","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d3380546e2118221254ef89caa2a0ac3739d330c","unresolved":false,"context_lines":[{"line_number":48,"context_line":"  $main_port        \u003d true,"},{"line_number":49,"context_line":"  $module_plugin    \u003d \u0027keystone.auth.plugins.mapped.Mapped\u0027,"},{"line_number":50,"context_line":"  $suppress_warning \u003d false,"},{"line_number":51,"context_line":"  $template_order   \u003d 331,"},{"line_number":52,"context_line":") {"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  include ::apache"}],"source_content_type":"text/x-puppet","patch_set":58,"id":"ba8a016a_cee84d19","line":51,"in_reply_to":"ba8a016a_bdb2e1e3","updated":"2015-11-23 14:10:34.000000000","message":"This is the order for the template to concat with the keystone virtualhost, please take a look at lines 30-38.","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"40e5f6f351e6e2a891365e2de14c574b7eeea9b6","unresolved":false,"context_lines":[{"line_number":108,"context_line":"      warning( \u0027Can not configure Shibboleth in Apache on RedHat OS.Read the Note on this federation/shibboleth.pp\u0027 )"},{"line_number":109,"context_line":"    }"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"    if defined(Package[\u0027shibboleth\u0027]) {"},{"line_number":112,"context_line":"      if $admin_port {"},{"line_number":113,"context_line":"        concat::fragment { \u0027configure_shibboleth_on_port_35357\u0027:"},{"line_number":114,"context_line":"          target  \u003d\u003e \"${keystone::wsgi::apache::priority}-keystone_wsgi_admin.conf\","}],"source_content_type":"text/x-puppet","patch_set":58,"id":"ba8a016a_cbccb4bd","line":111,"updated":"2015-11-23 16:35:36.000000000","message":"You could require only a repo, as puppetlab-apache will download the required package.  Then you can add a specific apache::mod definition to have it working.  Seepatchset #6 of https://review.openstack.org/#/c/248221","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"40e5f6f351e6e2a891365e2de14c574b7eeea9b6","unresolved":false,"context_lines":[{"line_number":125,"context_line":"        }"},{"line_number":126,"context_line":"      }"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    }"},{"line_number":129,"context_line":"  }"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"}"}],"source_content_type":"text/x-puppet","patch_set":58,"id":"ba8a016a_8b354cdc","line":128,"updated":"2015-11-23 16:35:36.000000000","message":"This is twice the same code.  This should be refactored to appear only once.  Check patchset #6 of https://review.openstack.org/#/c/248221/ for inspiration.","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"}],"spec/acceptance/keystone_federation_shibboleth_spec.rb":[{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"d6d28a7761d98352e38c5098baa6f00284aabc02","unresolved":false,"context_lines":[{"line_number":1,"context_line":"require \u0027spec_helper_acceptance\u0027"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"describe \u0027keystone server running with Apache/WSGI with resources\u0027 do"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  context \u0027default parameters\u0027 do"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":30,"id":"fa80f949_519619f1","line":3,"updated":"2015-11-05 22:09:02.000000000","message":"You should adjust the name of the test to differentiate it from the other one.","commit_id":"c8f31f201cdcad7cb906454173d00888a2623d74"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"1d957ff5f9d5d16ffba9ab1b0ac7fcd55050cd90","unresolved":false,"context_lines":[{"line_number":1,"context_line":"require \u0027spec_helper_acceptance\u0027"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"describe \u0027keystone server running with Apache/WSGI with resources\u0027 do"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"  context \u0027default parameters\u0027 do"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":30,"id":"fa80f949_05d7ceed","line":3,"in_reply_to":"fa80f949_519619f1","updated":"2015-11-06 11:59:04.000000000","message":"Done","commit_id":"c8f31f201cdcad7cb906454173d00888a2623d74"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"d6d28a7761d98352e38c5098baa6f00284aabc02","unresolved":false,"context_lines":[{"line_number":65,"context_line":"      include ::apache"},{"line_number":66,"context_line":"      class { \u0027::keystone::wsgi::apache\u0027:"},{"line_number":67,"context_line":"        ssl                   \u003d\u003e false,"},{"line_number":68,"context_line":"        vhost_custom_fragment \u003d\u003e \u0027WSGIScriptAliasMatch ^(/v3/OS-FEDERATION/identity_providers/.*?/protocols/.* #?/auth)$ /var/www/keystone/main/$1\u0027,"},{"line_number":69,"context_line":"      }"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"      # \"v2\" admin and service"}],"source_content_type":"text/x-ruby","patch_set":30,"id":"fa80f949_407abdf2","line":68,"updated":"2015-11-05 22:09:02.000000000","message":"you have a space here which make the apache config test fail.\n\n    protocols/.*\u003cspace\u003e#?/auth)$\n\nand then apache doesn\u0027t restart and everything fails.","commit_id":"c8f31f201cdcad7cb906454173d00888a2623d74"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"1d957ff5f9d5d16ffba9ab1b0ac7fcd55050cd90","unresolved":false,"context_lines":[{"line_number":65,"context_line":"      include ::apache"},{"line_number":66,"context_line":"      class { \u0027::keystone::wsgi::apache\u0027:"},{"line_number":67,"context_line":"        ssl                   \u003d\u003e false,"},{"line_number":68,"context_line":"        vhost_custom_fragment \u003d\u003e \u0027WSGIScriptAliasMatch ^(/v3/OS-FEDERATION/identity_providers/.*?/protocols/.* #?/auth)$ /var/www/keystone/main/$1\u0027,"},{"line_number":69,"context_line":"      }"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"      # \"v2\" admin and service"}],"source_content_type":"text/x-ruby","patch_set":30,"id":"fa80f949_457cf61e","line":68,"in_reply_to":"fa80f949_407abdf2","updated":"2015-11-06 11:59:04.000000000","message":"Done","commit_id":"c8f31f201cdcad7cb906454173d00888a2623d74"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5b3ec50e860cee8a3f4c385d4aafb98b62e9e6ae","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      include ::openstack_integration::keystone"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"      ::keystone::resource::service_identity { \u0027beaker-ci\u0027:"},{"line_number":15,"context_line":"        service_type        \u003d\u003e \u0027beaker\u0027,"},{"line_number":16,"context_line":"        service_description \u003d\u003e \u0027beaker service\u0027,"},{"line_number":17,"context_line":"        service_name        \u003d\u003e \u0027beaker\u0027,"},{"line_number":18,"context_line":"        password            \u003d\u003e \u0027secret\u0027,"}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_bd9bc165","line":15,"updated":"2015-11-23 13:09:08.000000000","message":"what is beaker?","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d3380546e2118221254ef89caa2a0ac3739d330c","unresolved":false,"context_lines":[{"line_number":12,"context_line":"      include ::openstack_integration::keystone"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"      ::keystone::resource::service_identity { \u0027beaker-ci\u0027:"},{"line_number":15,"context_line":"        service_type        \u003d\u003e \u0027beaker\u0027,"},{"line_number":16,"context_line":"        service_description \u003d\u003e \u0027beaker service\u0027,"},{"line_number":17,"context_line":"        service_name        \u003d\u003e \u0027beaker\u0027,"},{"line_number":18,"context_line":"        password            \u003d\u003e \u0027secret\u0027,"}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_a36c0209","line":15,"in_reply_to":"ba8a016a_bd9bc165","updated":"2015-11-23 14:10:34.000000000","message":"https://puppetlabs.com/presentations/beaker-automated-cloud-based-acceptance-testing-alice-nodelman-puppet-labs","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5b3ec50e860cee8a3f4c385d4aafb98b62e9e6ae","unresolved":false,"context_lines":[{"line_number":55,"context_line":"      # service user exists only in the service_domain - must"},{"line_number":56,"context_line":"      # use v3 api"},{"line_number":57,"context_line":"      ::keystone::resource::service_identity { \u0027beaker-civ3::service_domain\u0027:"},{"line_number":58,"context_line":"        service_type        \u003d\u003e \u0027beakerv3\u0027,"},{"line_number":59,"context_line":"        service_description \u003d\u003e \u0027beakerv3 service\u0027,"},{"line_number":60,"context_line":"        service_name        \u003d\u003e \u0027beakerv3\u0027,"},{"line_number":61,"context_line":"        password            \u003d\u003e \u0027secret\u0027,"}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_7d3c79bf","line":58,"updated":"2015-11-23 13:09:08.000000000","message":"what is beaker?","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d3380546e2118221254ef89caa2a0ac3739d330c","unresolved":false,"context_lines":[{"line_number":55,"context_line":"      # service user exists only in the service_domain - must"},{"line_number":56,"context_line":"      # use v3 api"},{"line_number":57,"context_line":"      ::keystone::resource::service_identity { \u0027beaker-civ3::service_domain\u0027:"},{"line_number":58,"context_line":"        service_type        \u003d\u003e \u0027beakerv3\u0027,"},{"line_number":59,"context_line":"        service_description \u003d\u003e \u0027beakerv3 service\u0027,"},{"line_number":60,"context_line":"        service_name        \u003d\u003e \u0027beakerv3\u0027,"},{"line_number":61,"context_line":"        password            \u003d\u003e \u0027secret\u0027,"}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_ce25adae","line":58,"in_reply_to":"ba8a016a_7d3c79bf","updated":"2015-11-23 14:10:34.000000000","message":"please see my reply to your comment( line 15)","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5b3ec50e860cee8a3f4c385d4aafb98b62e9e6ae","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    describe cron do"},{"line_number":89,"context_line":"      it { is_expected.to have_entry(\u00271 0 * * * keystone-manage token_flush \u003e\u003e/var/log/keystone/keystone-tokenflush.log 2\u003e\u00261\u0027).with_user(\u0027keystone\u0027) }"},{"line_number":90,"context_line":"    end"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    shared_examples_for \u0027keystone user/tenant/service/role/endpoint resources using v2 API\u0027 do |auth_creds|"},{"line_number":93,"context_line":"      it \u0027should find users in the default domain\u0027 do"}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_dd4c8578","line":90,"updated":"2015-11-23 13:09:08.000000000","message":"why would you put this code in federation specific puppet manifest?","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"f1a7f3265282d2b37a8104aff25dd0f5d8e340f1","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    describe cron do"},{"line_number":89,"context_line":"      it { is_expected.to have_entry(\u00271 0 * * * keystone-manage token_flush \u003e\u003e/var/log/keystone/keystone-tokenflush.log 2\u003e\u00261\u0027).with_user(\u0027keystone\u0027) }"},{"line_number":90,"context_line":"    end"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    shared_examples_for \u0027keystone user/tenant/service/role/endpoint resources using v2 API\u0027 do |auth_creds|"},{"line_number":93,"context_line":"      it \u0027should find users in the default domain\u0027 do"}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_d552e634","line":90,"in_reply_to":"ba8a016a_2e5d5915","updated":"2015-11-24 10:33:22.000000000","message":"so after I am using your puppet module you will always configure all those projects, setup brand new keystone and also add such entries? What if I already have that entry in my cron?","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"1632321bc86b76f4a5daf7cdbeb435ba91d4a91e","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    describe cron do"},{"line_number":89,"context_line":"      it { is_expected.to have_entry(\u00271 0 * * * keystone-manage token_flush \u003e\u003e/var/log/keystone/keystone-tokenflush.log 2\u003e\u00261\u0027).with_user(\u0027keystone\u0027) }"},{"line_number":90,"context_line":"    end"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    shared_examples_for \u0027keystone user/tenant/service/role/endpoint resources using v2 API\u0027 do |auth_creds|"},{"line_number":93,"context_line":"      it \u0027should find users in the default domain\u0027 do"}],"source_content_type":"text/x-ruby","patch_set":58,"id":"9a8ffd7b_929e3a06","line":90,"in_reply_to":"ba8a016a_d552e634","updated":"2015-11-24 11:25:55.000000000","message":"This is an example of acceptance test for keystone, this not implies that your environment will need everything here. The cloud operator will have to configure the pp that he wants.","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d3380546e2118221254ef89caa2a0ac3739d330c","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    describe cron do"},{"line_number":89,"context_line":"      it { is_expected.to have_entry(\u00271 0 * * * keystone-manage token_flush \u003e\u003e/var/log/keystone/keystone-tokenflush.log 2\u003e\u00261\u0027).with_user(\u0027keystone\u0027) }"},{"line_number":90,"context_line":"    end"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"    shared_examples_for \u0027keystone user/tenant/service/role/endpoint resources using v2 API\u0027 do |auth_creds|"},{"line_number":93,"context_line":"      it \u0027should find users in the default domain\u0027 do"}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_2e5d5915","line":90,"in_reply_to":"ba8a016a_dd4c8578","updated":"2015-11-23 14:10:34.000000000","message":"this is to test a full deploy of Keystone using puppet and configure the keystone as SP for K2K","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"}],"spec/classes/keystone_federation_shibboleth.rb":[{"author":{"_account_id":7604,"name":"Sergey Kolekonov","email":"skolekonov@mirantis.com","username":"skolekonov"},"change_message_id":"e5feabe650801bad1f907d579d44331dc190df4a","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    let :params do"},{"line_number":42,"context_line":"      { :methods        \u003d\u003e \u0027password, token, saml2\u0027"},{"line_number":43,"context_line":"        :mapping_plugin \u003d\u003e \u0027keystone.auth.plugins.mapped.Mapped\u0027 "},{"line_number":44,"context_line":"        :ports          \u003d\u003e [5000] }"},{"line_number":45,"context_line":"    end"},{"line_number":46,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":15,"id":"3a29b11f_79475177","line":43,"updated":"2015-10-21 09:02:47.000000000","message":"Please remove whitespace","commit_id":"7ab9f5d697cb434a40b038cb08b152a8e33097db"},{"author":{"_account_id":7745,"name":"Denis Egorenko","email":"degorenko@mirantis.com","username":"degorenko"},"change_message_id":"609e6e142b4418050aa918593bacea7267aa1975","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    context \u0027with override default parameters\u0027 do"},{"line_number":89,"context_line":"      let :params do"},{"line_number":90,"context_line":"        { :methods \u003d\u003e \u0027password, token, saml2\u0027, "},{"line_number":91,"context_line":"          :admin_port \u003d\u003e true }"},{"line_number":92,"context_line":"      end"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":56,"id":"ba8a016a_9129818c","line":90,"updated":"2015-11-19 16:33:21.000000000","message":"space :)","commit_id":"c878e74821afc683b18ddab5c5ba4cdee2508159"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"de92706d760f7c0f9eb210ce0e1a1186e0dc1737","unresolved":false,"context_lines":[{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    context \u0027with override default parameters\u0027 do"},{"line_number":89,"context_line":"      let :params do"},{"line_number":90,"context_line":"        { :methods \u003d\u003e \u0027password, token, saml2\u0027, "},{"line_number":91,"context_line":"          :admin_port \u003d\u003e true }"},{"line_number":92,"context_line":"      end"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":56,"id":"ba8a016a_347be329","line":90,"in_reply_to":"ba8a016a_9129818c","updated":"2015-11-19 16:58:15.000000000","message":"Done","commit_id":"c878e74821afc683b18ddab5c5ba4cdee2508159"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5b3ec50e860cee8a3f4c385d4aafb98b62e9e6ae","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    it_raises \u0027a Puppet::Error\u0027, /Methods should contain saml2 as one of the auth methods./"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    before do"},{"line_number":19,"context_line":"      params.merge!(:methods       \u003d\u003e \u0027password, token, oauth1, saml2\u0027,"},{"line_number":20,"context_line":"                    :module_plugin \u003d\u003e \u0027keystone.auth.plugins\u0027)"},{"line_number":21,"context_line":"    end"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_1dc8cd73","line":19,"updated":"2015-11-23 13:09:08.000000000","message":"this is ok for now, but in the future user should be able to specify a list of enabled auth method of his choice :-)","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"d3380546e2118221254ef89caa2a0ac3739d330c","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    it_raises \u0027a Puppet::Error\u0027, /Methods should contain saml2 as one of the auth methods./"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"    before do"},{"line_number":19,"context_line":"      params.merge!(:methods       \u003d\u003e \u0027password, token, oauth1, saml2\u0027,"},{"line_number":20,"context_line":"                    :module_plugin \u003d\u003e \u0027keystone.auth.plugins\u0027)"},{"line_number":21,"context_line":"    end"},{"line_number":22,"context_line":""}],"source_content_type":"text/x-ruby","patch_set":58,"id":"ba8a016a_0315ce99","line":19,"in_reply_to":"ba8a016a_1dc8cd73","updated":"2015-11-23 14:10:34.000000000","message":"he can specify a full string or a list, but need to have saml2","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"}],"templates/shibboleth.conf.erb":[{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5b3ec50e860cee8a3f4c385d4aafb98b62e9e6ae","unresolved":false,"context_lines":[{"line_number":1,"context_line":"  WSGIScriptAliasMatch ^(/v3/OS-FEDERATION/identity_providers/.*?/protocols/.*?/auth)$ /var/www/keystone/main/$1"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"  \u003cLocation /Shibboleth.sso\u003e"},{"line_number":4,"context_line":"      SetHandler shib"}],"source_content_type":"application/x-erb","patch_set":58,"id":"ba8a016a_5d209549","line":1,"updated":"2015-11-23 13:09:08.000000000","message":"i think this is no longer compatible with https://github.com/openstack-dev/devstack/blob/master/files/apache-keystone.template#L18","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":8297,"name":"Sofer Athlan-Guyot","email":"sathlang@redhat.com","username":"chem"},"change_message_id":"40e5f6f351e6e2a891365e2de14c574b7eeea9b6","unresolved":false,"context_lines":[{"line_number":1,"context_line":"  WSGIScriptAliasMatch ^(/v3/OS-FEDERATION/identity_providers/.*?/protocols/.*?/auth)$ /var/www/keystone/main/$1"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"  \u003cLocation /Shibboleth.sso\u003e"},{"line_number":4,"context_line":"      SetHandler shib"}],"source_content_type":"application/x-erb","patch_set":58,"id":"ba8a016a_045e2a12","line":1,"in_reply_to":"ba8a016a_5d209549","updated":"2015-11-23 16:35:36.000000000","message":"This is not the right path in the packages anyway, be it on redhat or debian.  Devstack paths are irrelevent here.  To access the right path whatever the platform, you have to use this:\n\n\u003c%\u003d scope[\u0027keystone::params::keystone_wsgi_script_path\u0027] -%\u003e/$1","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"},{"author":{"_account_id":8978,"name":"Marek Denis","email":"marek.denis+openstack@gmail.com","username":"marek-denis"},"change_message_id":"5b3ec50e860cee8a3f4c385d4aafb98b62e9e6ae","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      SetHandler shib"},{"line_number":5,"context_line":"  \u003c/Location\u003e"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"  \u003cLocationMatch /v3/OS-FEDERATION/identity_providers/.*?/protocols/saml2/auth\u003e"},{"line_number":8,"context_line":"      ShibRequestSetting requireSession 1"},{"line_number":9,"context_line":"      AuthType shibboleth"},{"line_number":10,"context_line":"      ShibExportAssertion Off"}],"source_content_type":"application/x-erb","patch_set":58,"id":"ba8a016a_7de23903","line":7,"updated":"2015-11-23 13:09:08.000000000","message":"just a heads up - please make sure it works on both Apache 2.2 and Apache 2.4","commit_id":"26630a4eaf27cc4fa3223cc023d989ecc90d044c"}]}
