)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"b4ffc484f635e737991e684c01433c13fc07d904","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add novajoin class"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In this commit, we add the puppet module for a new"},{"line_number":10,"context_line":"nova metadata micro-service (novajoin) that allows nova"},{"line_number":11,"context_line":"instances to be registered to a FreeIPA server as IPA clients."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a74a57a_c986ea12","line":9,"updated":"2016-11-30 15:56:36.000000000","message":"it\u0027s not a puppet module, but a class.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"1647d6cfb5b45d1e77c698d5eba7dc570bd35d65","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Add novajoin class"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"In this commit, we add the puppet module for a new"},{"line_number":10,"context_line":"nova metadata micro-service (novajoin) that allows nova"},{"line_number":11,"context_line":"instances to be registered to a FreeIPA server as IPA clients."},{"line_number":12,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"5a74a57a_ec5f2b73","line":9,"in_reply_to":"5a74a57a_c986ea12","updated":"2016-11-30 18:53:33.000000000","message":"will fix.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"}],"manifests/metadata/novajoin/api.pp":[{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"b4ffc484f635e737991e684c01433c13fc07d904","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      $service_name        \u003d \u0027novajoin-server\u0027"},{"line_number":78,"context_line":"      $notify_service_name \u003d \u0027novajoin-notify\u0027"},{"line_number":79,"context_line":"    }"},{"line_number":80,"context_line":"    \u0027Debian\u0027: {"},{"line_number":81,"context_line":"      fail(\"Unsupported osfamily: ${::osfamily} operatingsystem\")"},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":"    default: {"},{"line_number":84,"context_line":"      fail(\"Unsupported osfamily: ${::osfamily} operatingsystem\")"},{"line_number":85,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_697876f9","line":82,"range":{"start_line":80,"start_character":0,"end_line":82,"end_character":5},"updated":"2016-11-30 15:56:36.000000000","message":"remove it, let it go in default.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"1647d6cfb5b45d1e77c698d5eba7dc570bd35d65","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      $service_name        \u003d \u0027novajoin-server\u0027"},{"line_number":78,"context_line":"      $notify_service_name \u003d \u0027novajoin-notify\u0027"},{"line_number":79,"context_line":"    }"},{"line_number":80,"context_line":"    \u0027Debian\u0027: {"},{"line_number":81,"context_line":"      fail(\"Unsupported osfamily: ${::osfamily} operatingsystem\")"},{"line_number":82,"context_line":"    }"},{"line_number":83,"context_line":"    default: {"},{"line_number":84,"context_line":"      fail(\"Unsupported osfamily: ${::osfamily} operatingsystem\")"},{"line_number":85,"context_line":"    }"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_4cd49fbc","line":82,"range":{"start_line":80,"start_character":0,"end_line":82,"end_character":5},"in_reply_to":"5a74a57a_697876f9","updated":"2016-11-30 18:53:33.000000000","message":"will fix.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"b4ffc484f635e737991e684c01433c13fc07d904","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  #   require ::ipa::client"},{"line_number":91,"context_line":"  # }"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  if $ipa_principal \u003d\u003d undef {"},{"line_number":94,"context_line":"    fail(\u0027ipa_principal is required to be set\u0027)"},{"line_number":95,"context_line":"  }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  if $nova_password \u003d\u003d undef {"},{"line_number":98,"context_line":"    fail(\u0027nova_password is required to be set.\u0027)"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_e9c9e65b","line":95,"range":{"start_line":93,"start_character":0,"end_line":95,"end_character":3},"updated":"2016-11-30 15:56:36.000000000","message":"remove default value (undef) and it will be required. No need to set this message I think.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"1647d6cfb5b45d1e77c698d5eba7dc570bd35d65","unresolved":false,"context_lines":[{"line_number":90,"context_line":"  #   require ::ipa::client"},{"line_number":91,"context_line":"  # }"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"  if $ipa_principal \u003d\u003d undef {"},{"line_number":94,"context_line":"    fail(\u0027ipa_principal is required to be set\u0027)"},{"line_number":95,"context_line":"  }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  if $nova_password \u003d\u003d undef {"},{"line_number":98,"context_line":"    fail(\u0027nova_password is required to be set.\u0027)"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_cce0af99","line":95,"range":{"start_line":93,"start_character":0,"end_line":95,"end_character":3},"in_reply_to":"5a74a57a_e9c9e65b","updated":"2016-11-30 18:53:33.000000000","message":"will fix.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"b4ffc484f635e737991e684c01433c13fc07d904","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    fail(\u0027ipa_principal is required to be set\u0027)"},{"line_number":95,"context_line":"  }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  if $nova_password \u003d\u003d undef {"},{"line_number":98,"context_line":"    fail(\u0027nova_password is required to be set.\u0027)"},{"line_number":99,"context_line":"  }"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  $opt1 \u003d \"--principal ${ipa_principal} --user ${nova_user}\""},{"line_number":102,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_49c1fa2d","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":3},"updated":"2016-11-30 15:56:36.000000000","message":"ditto","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"1647d6cfb5b45d1e77c698d5eba7dc570bd35d65","unresolved":false,"context_lines":[{"line_number":94,"context_line":"    fail(\u0027ipa_principal is required to be set\u0027)"},{"line_number":95,"context_line":"  }"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"  if $nova_password \u003d\u003d undef {"},{"line_number":98,"context_line":"    fail(\u0027nova_password is required to be set.\u0027)"},{"line_number":99,"context_line":"  }"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"  $opt1 \u003d \"--principal ${ipa_principal} --user ${nova_user}\""},{"line_number":102,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_4cebbf78","line":99,"range":{"start_line":97,"start_character":0,"end_line":99,"end_character":3},"in_reply_to":"5a74a57a_49c1fa2d","updated":"2016-11-30 18:53:33.000000000","message":"will fix.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"b4ffc484f635e737991e684c01433c13fc07d904","unresolved":false,"context_lines":[{"line_number":123,"context_line":"    source \u003d\u003e \u0027/usr/share/novajoin/join.conf.template\u0027,"},{"line_number":124,"context_line":"  }"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  file { \u0027/etc/nova/cloud-config.json\u0027:"},{"line_number":127,"context_line":"    ensure \u003d\u003e \u0027present\u0027,"},{"line_number":128,"context_line":"    source \u003d\u003e \u0027/usr/share/novajoin/cloud-config.json\u0027,"},{"line_number":129,"context_line":"  }"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"  novajoin_config {"},{"line_number":132,"context_line":"    \u0027DEFAULT/url\u0027:                       value \u003d\u003e \"https://${ipa_server}/ipa/json\";"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_e9f7268a","line":129,"range":{"start_line":126,"start_character":0,"end_line":129,"end_character":3},"updated":"2016-11-30 15:56:36.000000000","message":"shouldn\u0027t it be done by packaging?","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"1647d6cfb5b45d1e77c698d5eba7dc570bd35d65","unresolved":false,"context_lines":[{"line_number":123,"context_line":"    source \u003d\u003e \u0027/usr/share/novajoin/join.conf.template\u0027,"},{"line_number":124,"context_line":"  }"},{"line_number":125,"context_line":""},{"line_number":126,"context_line":"  file { \u0027/etc/nova/cloud-config.json\u0027:"},{"line_number":127,"context_line":"    ensure \u003d\u003e \u0027present\u0027,"},{"line_number":128,"context_line":"    source \u003d\u003e \u0027/usr/share/novajoin/cloud-config.json\u0027,"},{"line_number":129,"context_line":"  }"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"  novajoin_config {"},{"line_number":132,"context_line":"    \u0027DEFAULT/url\u0027:                       value \u003d\u003e \"https://${ipa_server}/ipa/json\";"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_ccf7cf57","line":129,"range":{"start_line":126,"start_character":0,"end_line":129,"end_character":3},"in_reply_to":"5a74a57a_e9f7268a","updated":"2016-11-30 18:53:33.000000000","message":"Discussing with rcritten now.  Will update accordingly.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"b4ffc484f635e737991e684c01433c13fc07d904","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    tag        \u003d\u003e \u0027novajoin-notify\u0027,"},{"line_number":165,"context_line":"  }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"  # set up whatever is needed in ipa server"},{"line_number":168,"context_line":"  exec { \u0027novajoin-install-script\u0027:"},{"line_number":169,"context_line":"    command \u003d\u003e \"/usr/libexec/novajoin-ipa-setup ${install_opts}\","},{"line_number":170,"context_line":"    require \u003d\u003e Package[\u0027python-novajoin\u0027]"},{"line_number":171,"context_line":"  }"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  Package[\u0027python-novajoin\u0027] -\u003e File[\u0027/etc/nova/join.conf\u0027]"},{"line_number":174,"context_line":"  Package[\u0027python-novajoin\u0027] -\u003e File[\u0027/etc/nova/cloud-config.json\u0027] ~\u003e Service\u003c| title \u003d\u003d \u0027nova-api\u0027|\u003e"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_c910aaab","line":171,"range":{"start_line":167,"start_character":0,"end_line":171,"end_character":3},"updated":"2016-11-30 15:56:36.000000000","message":"I would make this exec optional. Is it ok to run it on every controller in multinode environment?","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"1647d6cfb5b45d1e77c698d5eba7dc570bd35d65","unresolved":false,"context_lines":[{"line_number":164,"context_line":"    tag        \u003d\u003e \u0027novajoin-notify\u0027,"},{"line_number":165,"context_line":"  }"},{"line_number":166,"context_line":""},{"line_number":167,"context_line":"  # set up whatever is needed in ipa server"},{"line_number":168,"context_line":"  exec { \u0027novajoin-install-script\u0027:"},{"line_number":169,"context_line":"    command \u003d\u003e \"/usr/libexec/novajoin-ipa-setup ${install_opts}\","},{"line_number":170,"context_line":"    require \u003d\u003e Package[\u0027python-novajoin\u0027]"},{"line_number":171,"context_line":"  }"},{"line_number":172,"context_line":""},{"line_number":173,"context_line":"  Package[\u0027python-novajoin\u0027] -\u003e File[\u0027/etc/nova/join.conf\u0027]"},{"line_number":174,"context_line":"  Package[\u0027python-novajoin\u0027] -\u003e File[\u0027/etc/nova/cloud-config.json\u0027] ~\u003e Service\u003c| title \u003d\u003d \u0027nova-api\u0027|\u003e"}],"source_content_type":"text/x-puppet","patch_set":4,"id":"5a74a57a_1729d489","line":171,"range":{"start_line":167,"start_character":0,"end_line":171,"end_character":3},"in_reply_to":"5a74a57a_c910aaab","updated":"2016-11-30 18:53:33.000000000","message":"It is OK for this to run on every controller in a multinode environment. In fact, it is preferable.  This exec sets up the local nova instance to be able to use novajoin to allow instances to join with IPA.\n\nDoing this on some controllers and not others will mean that instances that are created on some controllers would be able to join with IPA and others will not -- which I think would be an inconsistency you\u0027d want to avoid.\n\nSo, while we could make this optional, I\u0027m not sure I see a case where we would want it to be.","commit_id":"9b92f7f001a2530a63ec3781e5c91615c98c4ac0"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"bac8856aff427c49e2f5e4252399f17d5de6fd40","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    tag    \u003d\u003e [\u0027openstack\u0027, \u0027novajoin-package\u0027],"},{"line_number":76,"context_line":"  }"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  file { \u0027/etc/nova/join.conf\u0027:"},{"line_number":79,"context_line":"    ensure \u003d\u003e \u0027present\u0027,"},{"line_number":80,"context_line":"    source \u003d\u003e \u0027/usr/share/novajoin/join.conf.template\u0027,"},{"line_number":81,"context_line":"  }"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  file { \u0027/etc/nova/cloud-config.json\u0027:"},{"line_number":84,"context_line":"    ensure \u003d\u003e \u0027present\u0027,"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_d42bc192","line":81,"range":{"start_line":78,"start_character":0,"end_line":81,"end_character":3},"updated":"2017-01-03 17:39:06.000000000","message":"I think this is also problematic as this will stomp on the config every time it runs.  This either needs to be done in packaging or we need to be providing all the required bits to be set in  puppet","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"119a65393d9de3ad095a4b6e66d355e2e338a3ac","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    tag    \u003d\u003e [\u0027openstack\u0027, \u0027novajoin-package\u0027],"},{"line_number":76,"context_line":"  }"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  file { \u0027/etc/nova/join.conf\u0027:"},{"line_number":79,"context_line":"    ensure \u003d\u003e \u0027present\u0027,"},{"line_number":80,"context_line":"    source \u003d\u003e \u0027/usr/share/novajoin/join.conf.template\u0027,"},{"line_number":81,"context_line":"  }"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  file { \u0027/etc/nova/cloud-config.json\u0027:"},{"line_number":84,"context_line":"    ensure \u003d\u003e \u0027present\u0027,"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_89883f24","line":81,"range":{"start_line":78,"start_character":0,"end_line":81,"end_character":3},"in_reply_to":"ba5201f7_c941670d","updated":"2017-01-03 20:33:22.000000000","message":"As I mentioned in IRC, this will make the 2nd run not idempotent as well as the exec below. The problem is that puppet will copy this file every time this runs because source !\u003d target. Then the novajoin_config will run.  This should either not be done or done in packaging to ensure idempotency.  If we\u0027re not getting any actual configuration from this action it should be omitted.","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0005b3f81ea93b867a7270cf2d1006750f4bb776","unresolved":false,"context_lines":[{"line_number":75,"context_line":"    tag    \u003d\u003e [\u0027openstack\u0027, \u0027novajoin-package\u0027],"},{"line_number":76,"context_line":"  }"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"  file { \u0027/etc/nova/join.conf\u0027:"},{"line_number":79,"context_line":"    ensure \u003d\u003e \u0027present\u0027,"},{"line_number":80,"context_line":"    source \u003d\u003e \u0027/usr/share/novajoin/join.conf.template\u0027,"},{"line_number":81,"context_line":"  }"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"  file { \u0027/etc/nova/cloud-config.json\u0027:"},{"line_number":84,"context_line":"    ensure \u003d\u003e \u0027present\u0027,"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_c941670d","line":81,"range":{"start_line":78,"start_character":0,"end_line":81,"end_character":3},"in_reply_to":"ba5201f7_d42bc192","updated":"2017-01-03 20:26:49.000000000","message":"So, the file contains a bunch of defaults (which are unchanged) and a few variables which are all set in the novajoin_config() calls below.\n\nBasically, all the required config is set in this puppet class.  So, we don\u0027t care if the config is stomped over each time, because it will set everything the way we want it.\n\nWe do not expect this to be a file that users will customize stuff in.\n\nIsn\u0027t that what we want puppet to do?","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"de6756741b04d65dc89224a4ffc184b36e17731f","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    enable     \u003d\u003e $enabled,"},{"line_number":113,"context_line":"    hasstatus  \u003d\u003e true,"},{"line_number":114,"context_line":"    hasrestart \u003d\u003e true,"},{"line_number":115,"context_line":"    tag        \u003d\u003e \u0027novajoin-server\u0027,"},{"line_number":116,"context_line":"  }"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  service { \u0027novajoin-notify\u0027:"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_54399140","line":115,"updated":"2017-01-03 17:30:25.000000000","message":"shouldn\u0027t we use openstack tag, like other services?","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0005b3f81ea93b867a7270cf2d1006750f4bb776","unresolved":false,"context_lines":[{"line_number":112,"context_line":"    enable     \u003d\u003e $enabled,"},{"line_number":113,"context_line":"    hasstatus  \u003d\u003e true,"},{"line_number":114,"context_line":"    hasrestart \u003d\u003e true,"},{"line_number":115,"context_line":"    tag        \u003d\u003e \u0027novajoin-server\u0027,"},{"line_number":116,"context_line":"  }"},{"line_number":117,"context_line":""},{"line_number":118,"context_line":"  service { \u0027novajoin-notify\u0027:"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_491e5764","line":115,"in_reply_to":"ba5201f7_54399140","updated":"2017-01-03 20:26:49.000000000","message":"Done","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"de6756741b04d65dc89224a4ffc184b36e17731f","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    enable     \u003d\u003e $enabled,"},{"line_number":122,"context_line":"    hasstatus  \u003d\u003e true,"},{"line_number":123,"context_line":"    hasrestart \u003d\u003e true,"},{"line_number":124,"context_line":"    tag        \u003d\u003e \u0027novajoin-notify\u0027,"},{"line_number":125,"context_line":"  }"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"  exec { \u0027get-service-user-keytab\u0027:"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_943bf937","line":124,"updated":"2017-01-03 17:30:25.000000000","message":"dito","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0005b3f81ea93b867a7270cf2d1006750f4bb776","unresolved":false,"context_lines":[{"line_number":121,"context_line":"    enable     \u003d\u003e $enabled,"},{"line_number":122,"context_line":"    hasstatus  \u003d\u003e true,"},{"line_number":123,"context_line":"    hasrestart \u003d\u003e true,"},{"line_number":124,"context_line":"    tag        \u003d\u003e \u0027novajoin-notify\u0027,"},{"line_number":125,"context_line":"  }"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"  exec { \u0027get-service-user-keytab\u0027:"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_69195b79","line":124,"in_reply_to":"ba5201f7_943bf937","updated":"2017-01-03 20:26:49.000000000","message":"Done","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":3153,"name":"Emilien Macchi","email":"emilien@redhat.com","username":"emilienm"},"change_message_id":"de6756741b04d65dc89224a4ffc184b36e17731f","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  }"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"  exec { \u0027get-service-user-keytab\u0027:"},{"line_number":128,"context_line":"    command \u003d\u003e \"/usr/bin/kinit -kt /etc/krb5.keytab \u0026\u0026 ipa-getkeytab -s `grep xmlrpc_uri /etc/ipa/default.conf  | cut -d/ -f3` \\"},{"line_number":129,"context_line":"                -p nova/${::fqdn} -k /etc/nova/krb5.keytab\","},{"line_number":130,"context_line":"    require \u003d\u003e Package[\u0027python-novajoin\u0027]"},{"line_number":131,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_b421ddfd","line":128,"updated":"2017-01-03 17:30:25.000000000","message":"is it idempotent? I don\u0027t see \u0027unless\u0027 or \u0027onlyif\u0027 or \u0027creates\u0027 attributes.","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":9914,"name":"Ade Lee","email":"alee@redhat.com","username":"alee"},"change_message_id":"0005b3f81ea93b867a7270cf2d1006750f4bb776","unresolved":false,"context_lines":[{"line_number":125,"context_line":"  }"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"  exec { \u0027get-service-user-keytab\u0027:"},{"line_number":128,"context_line":"    command \u003d\u003e \"/usr/bin/kinit -kt /etc/krb5.keytab \u0026\u0026 ipa-getkeytab -s `grep xmlrpc_uri /etc/ipa/default.conf  | cut -d/ -f3` \\"},{"line_number":129,"context_line":"                -p nova/${::fqdn} -k /etc/nova/krb5.keytab\","},{"line_number":130,"context_line":"    require \u003d\u003e Package[\u0027python-novajoin\u0027]"},{"line_number":131,"context_line":"  }"}],"source_content_type":"text/x-puppet","patch_set":10,"id":"ba5201f7_093b6fd2","line":128,"in_reply_to":"ba5201f7_b421ddfd","updated":"2017-01-03 20:26:49.000000000","message":"I\u0027ll add a \"creates\" flag.","commit_id":"7429635c5df784cd8704942b5d10ac7e222d9a93"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"93a2248b135ec04d63feeed8b2e550b6e9e0fcd2","unresolved":false,"context_lines":[{"line_number":158,"context_line":"    \u0027service_credentials/project_name\u0027:        value \u003d\u003e \"${project_name}\";"},{"line_number":159,"context_line":"    \u0027service_credentials/user_domain_id\u0027:      value \u003d\u003e \"${user_domain_id}\";"},{"line_number":160,"context_line":"    \u0027service_credentials/project_domain_name\u0027:"},{"line_number":161,"context_line":"      value \u003d\u003e \"${project_domain_name}\";"},{"line_number":162,"context_line":"  }"},{"line_number":163,"context_line":""},{"line_number":164,"context_line":"  if $manage_service {"}],"source_content_type":"text/x-puppet","patch_set":11,"id":"ba5201f7_68a81c21","line":161,"updated":"2017-01-05 18:17:43.000000000","message":"There\u0027s no need to make strings out of all of these variables. You can just use value \u003d\u003e $variablename","commit_id":"fc38cb8746e3bba56037762da073c371c7b2a451"}],"spec/classes/nova_metadata_novajoin_api_spec.rb":[{"author":{"_account_id":18795,"name":"mkarpin","email":"mkarpin@mirantis.com","username":"nkarpin"},"change_message_id":"af7cc9a925f9d3849b6a79f755b8507333f4c80a","unresolved":false,"context_lines":[{"line_number":130,"context_line":""},{"line_number":131,"context_line":"  describe \u0027on RedHat platforms\u0027 do"},{"line_number":132,"context_line":"    let :facts do"},{"line_number":133,"context_line":"      @default_facts.merge({"},{"line_number":134,"context_line":"        :osfamily               \u003d\u003e \u0027RedHat\u0027,"},{"line_number":135,"context_line":"        :operatingsystemrelease \u003d\u003e \u00277\u0027,"},{"line_number":136,"context_line":"      })"}],"source_content_type":"text/x-ruby","patch_set":6,"id":"3a71b18c_1a2b7295","line":133,"range":{"start_line":133,"start_character":7,"end_line":133,"end_character":20},"updated":"2016-12-05 09:34:23.000000000","message":"please use OSDefaults here","commit_id":"2655475289b83cfe2d41e4b2965d24277355e856"}]}
