)]}'
{"manifests/params.pp":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"69ad9cfbc5d525dcde6c0798e2fb31ba271aeb9d","unresolved":true,"context_lines":[{"line_number":50,"context_line":"      $ipxe_rom_dir              \u003d \u0027/usr/share/ipxe\u0027"},{"line_number":51,"context_line":"      $ironic_wsgi_script_path   \u003d \u0027/var/www/cgi-bin/ironic\u0027"},{"line_number":52,"context_line":"      $ironic_wsgi_script_source \u003d \u0027/usr/bin/ironic-api-wsgi\u0027"},{"line_number":53,"context_line":"      $tftp_service              \u003d \u0027dnsmasq-ironic-tftp\u0027"},{"line_number":54,"context_line":"      if (Integer.new($::os[\u0027release\u0027][\u0027major\u0027]) \u003e 8) {"},{"line_number":55,"context_line":"        $tftpd_package             \u003d \u0027dnsmasq\u0027"},{"line_number":56,"context_line":"        $use_xinetd                \u003d false"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"b2a7eb85_cbbdeed1","line":53,"range":{"start_line":53,"start_character":7,"end_line":53,"end_character":11},"updated":"2021-08-28 00:40:21.000000000","message":"better name this as ironic_dnsmasq_tftp_server","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"69ad9cfbc5d525dcde6c0798e2fb31ba271aeb9d","unresolved":true,"context_lines":[{"line_number":53,"context_line":"      $tftp_service              \u003d \u0027dnsmasq-ironic-tftp\u0027"},{"line_number":54,"context_line":"      if (Integer.new($::os[\u0027release\u0027][\u0027major\u0027]) \u003e 8) {"},{"line_number":55,"context_line":"        $tftpd_package             \u003d \u0027dnsmasq\u0027"},{"line_number":56,"context_line":"        $use_xinetd                \u003d false"},{"line_number":57,"context_line":"      } else {"},{"line_number":58,"context_line":"        $tftpd_package           \u003d \u0027dnsmasq\u0027"},{"line_number":59,"context_line":"        $use_xinetd              \u003d false"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"d397ac60_9b52bf6c","line":56,"range":{"start_line":56,"start_character":9,"end_line":56,"end_character":19},"updated":"2021-08-28 00:40:21.000000000","message":"xinetd_available might be a better naming. Sorry for conflicting with my previous guidance.","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"}],"manifests/pxe.pp":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6690f37ab6bb9fdc31a3e3cc4b4486fcbdc629ec","unresolved":true,"context_lines":[{"line_number":130,"context_line":"  })"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"  $options \u003d \"--map-file ${tftp_root_real}/map-file\""},{"line_number":133,"context_line":"  include xinetd"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  xinetd::service { \u0027tftp\u0027:"},{"line_number":136,"context_line":"    port        \u003d\u003e \u002769\u0027,"},{"line_number":137,"context_line":"    bind        \u003d\u003e $tftp_bind_host,"},{"line_number":138,"context_line":"    protocol    \u003d\u003e \u0027udp\u0027,"},{"line_number":139,"context_line":"    server_args \u003d\u003e \"${options} ${tftp_root_real}\","},{"line_number":140,"context_line":"    server      \u003d\u003e \u0027/usr/sbin/in.tftpd\u0027,"},{"line_number":141,"context_line":"    socket_type \u003d\u003e \u0027dgram\u0027,"},{"line_number":142,"context_line":"    cps         \u003d\u003e \u0027100 2\u0027,"},{"line_number":143,"context_line":"    per_source  \u003d\u003e \u002711\u0027,"},{"line_number":144,"context_line":"    wait        \u003d\u003e \u0027yes\u0027,"},{"line_number":145,"context_line":"    subscribe   \u003d\u003e Anchor[\u0027ironic::install::end\u0027],"},{"line_number":146,"context_line":"    disable     \u003d\u003e \u0027yes\u0027,"},{"line_number":147,"context_line":"  }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  file { \"${tftp_root_real}/map-file\":"},{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"6e4e184c_2bcb1b07","line":147,"range":{"start_line":133,"start_character":2,"end_line":147,"end_character":3},"updated":"2021-08-12 16:15:21.000000000","message":"We should skip these two in CentOS9. Especially the xinetd class tries to install the xinetd package which fails in CentOS9.\nIMO we should implement the parameter like has_xinetd in params.pp which shows whether xinetd package is available and use that parameter to which resource would be called.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"db8dae94fb78ce7df090c84d218c01a1835d79a1","unresolved":true,"context_lines":[{"line_number":130,"context_line":"  })"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"  $options \u003d \"--map-file ${tftp_root_real}/map-file\""},{"line_number":133,"context_line":"  include xinetd"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  xinetd::service { \u0027tftp\u0027:"},{"line_number":136,"context_line":"    port        \u003d\u003e \u002769\u0027,"},{"line_number":137,"context_line":"    bind        \u003d\u003e $tftp_bind_host,"},{"line_number":138,"context_line":"    protocol    \u003d\u003e \u0027udp\u0027,"},{"line_number":139,"context_line":"    server_args \u003d\u003e \"${options} ${tftp_root_real}\","},{"line_number":140,"context_line":"    server      \u003d\u003e \u0027/usr/sbin/in.tftpd\u0027,"},{"line_number":141,"context_line":"    socket_type \u003d\u003e \u0027dgram\u0027,"},{"line_number":142,"context_line":"    cps         \u003d\u003e \u0027100 2\u0027,"},{"line_number":143,"context_line":"    per_source  \u003d\u003e \u002711\u0027,"},{"line_number":144,"context_line":"    wait        \u003d\u003e \u0027yes\u0027,"},{"line_number":145,"context_line":"    subscribe   \u003d\u003e Anchor[\u0027ironic::install::end\u0027],"},{"line_number":146,"context_line":"    disable     \u003d\u003e \u0027yes\u0027,"},{"line_number":147,"context_line":"  }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  file { \"${tftp_root_real}/map-file\":"},{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"a97b9e42_03812aa4","line":147,"range":{"start_line":133,"start_character":2,"end_line":147,"end_character":3},"in_reply_to":"26eff14f_cefa1ab3","updated":"2021-08-12 17:47:39.000000000","message":"\u003e In CentOS9 xinetd is available so  ...\n\nThis was a typo and I meant to say; In CentOS9 xinetd is NOT available ...","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"30e02cfe4de213f0f684ffbf79b1d53202e3c981","unresolved":true,"context_lines":[{"line_number":130,"context_line":"  })"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"  $options \u003d \"--map-file ${tftp_root_real}/map-file\""},{"line_number":133,"context_line":"  include xinetd"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  xinetd::service { \u0027tftp\u0027:"},{"line_number":136,"context_line":"    port        \u003d\u003e \u002769\u0027,"},{"line_number":137,"context_line":"    bind        \u003d\u003e $tftp_bind_host,"},{"line_number":138,"context_line":"    protocol    \u003d\u003e \u0027udp\u0027,"},{"line_number":139,"context_line":"    server_args \u003d\u003e \"${options} ${tftp_root_real}\","},{"line_number":140,"context_line":"    server      \u003d\u003e \u0027/usr/sbin/in.tftpd\u0027,"},{"line_number":141,"context_line":"    socket_type \u003d\u003e \u0027dgram\u0027,"},{"line_number":142,"context_line":"    cps         \u003d\u003e \u0027100 2\u0027,"},{"line_number":143,"context_line":"    per_source  \u003d\u003e \u002711\u0027,"},{"line_number":144,"context_line":"    wait        \u003d\u003e \u0027yes\u0027,"},{"line_number":145,"context_line":"    subscribe   \u003d\u003e Anchor[\u0027ironic::install::end\u0027],"},{"line_number":146,"context_line":"    disable     \u003d\u003e \u0027yes\u0027,"},{"line_number":147,"context_line":"  }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  file { \"${tftp_root_real}/map-file\":"},{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"fdf9104e_f1757fc5","line":147,"range":{"start_line":133,"start_character":2,"end_line":147,"end_character":3},"in_reply_to":"6e4e184c_2bcb1b07","updated":"2021-08-12 16:58:32.000000000","message":"Super good point about skipping. What is the value in keeping it if we rip it out use completely? I\u0027m not keeping, nor intend to make it a configurable option.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"8f45c65a141a0776ce6d840c5ca5266b1e63de00","unresolved":true,"context_lines":[{"line_number":130,"context_line":"  })"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"  $options \u003d \"--map-file ${tftp_root_real}/map-file\""},{"line_number":133,"context_line":"  include xinetd"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  xinetd::service { \u0027tftp\u0027:"},{"line_number":136,"context_line":"    port        \u003d\u003e \u002769\u0027,"},{"line_number":137,"context_line":"    bind        \u003d\u003e $tftp_bind_host,"},{"line_number":138,"context_line":"    protocol    \u003d\u003e \u0027udp\u0027,"},{"line_number":139,"context_line":"    server_args \u003d\u003e \"${options} ${tftp_root_real}\","},{"line_number":140,"context_line":"    server      \u003d\u003e \u0027/usr/sbin/in.tftpd\u0027,"},{"line_number":141,"context_line":"    socket_type \u003d\u003e \u0027dgram\u0027,"},{"line_number":142,"context_line":"    cps         \u003d\u003e \u0027100 2\u0027,"},{"line_number":143,"context_line":"    per_source  \u003d\u003e \u002711\u0027,"},{"line_number":144,"context_line":"    wait        \u003d\u003e \u0027yes\u0027,"},{"line_number":145,"context_line":"    subscribe   \u003d\u003e Anchor[\u0027ironic::install::end\u0027],"},{"line_number":146,"context_line":"    disable     \u003d\u003e \u0027yes\u0027,"},{"line_number":147,"context_line":"  }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  file { \"${tftp_root_real}/map-file\":"},{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"eac3dc9f_84d00a9a","line":147,"range":{"start_line":133,"start_character":2,"end_line":147,"end_character":3},"in_reply_to":"a97b9e42_03812aa4","updated":"2021-08-13 00:13:49.000000000","message":"https://review.opendev.org/c/openstack/puppet-ironic/+/804467\n\nThis would explain what I\u0027m expecting","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"95b7f4b1d0af5b307a33e227153827489b594758","unresolved":true,"context_lines":[{"line_number":130,"context_line":"  })"},{"line_number":131,"context_line":""},{"line_number":132,"context_line":"  $options \u003d \"--map-file ${tftp_root_real}/map-file\""},{"line_number":133,"context_line":"  include xinetd"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"  xinetd::service { \u0027tftp\u0027:"},{"line_number":136,"context_line":"    port        \u003d\u003e \u002769\u0027,"},{"line_number":137,"context_line":"    bind        \u003d\u003e $tftp_bind_host,"},{"line_number":138,"context_line":"    protocol    \u003d\u003e \u0027udp\u0027,"},{"line_number":139,"context_line":"    server_args \u003d\u003e \"${options} ${tftp_root_real}\","},{"line_number":140,"context_line":"    server      \u003d\u003e \u0027/usr/sbin/in.tftpd\u0027,"},{"line_number":141,"context_line":"    socket_type \u003d\u003e \u0027dgram\u0027,"},{"line_number":142,"context_line":"    cps         \u003d\u003e \u0027100 2\u0027,"},{"line_number":143,"context_line":"    per_source  \u003d\u003e \u002711\u0027,"},{"line_number":144,"context_line":"    wait        \u003d\u003e \u0027yes\u0027,"},{"line_number":145,"context_line":"    subscribe   \u003d\u003e Anchor[\u0027ironic::install::end\u0027],"},{"line_number":146,"context_line":"    disable     \u003d\u003e \u0027yes\u0027,"},{"line_number":147,"context_line":"  }"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"  file { \"${tftp_root_real}/map-file\":"},{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"26eff14f_cefa1ab3","line":147,"range":{"start_line":133,"start_character":2,"end_line":147,"end_character":3},"in_reply_to":"fdf9104e_f1757fc5","updated":"2021-08-12 17:44:50.000000000","message":"The main benefit is a hugely low impact when backporting this to older releases assuming that you are likely to try backporting this to Wallaby.\n\nAlso, for Ubuntu and Debian we need to implement a proper cleanup of existing definition in xinetd. In CentOS9 xinetd is available so we can safely assume that no configuration is left/made about xinetd and can skip implementing such cleanup steps so far.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6690f37ab6bb9fdc31a3e3cc4b4486fcbdc629ec","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"},{"line_number":151,"context_line":"  }"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  file { \u0027/lib/systemd/system/ironic-dnsmasq-tftp.service\u0027:"},{"line_number":154,"context_line":"    ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":155,"context_line":"    mode    \u003d\u003e \u00270644\u0027,"},{"line_number":156,"context_line":"    owner   \u003d\u003e \u0027root\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"ef629866_fb2ed35f","line":153,"range":{"start_line":153,"start_character":10,"end_line":153,"end_character":57},"updated":"2021-08-12 16:15:21.000000000","message":"IMO this file should be created under /etc/systemd because it is not maintained by packages. Also, the file name should be determined according to the service name.\n\nFinally, we need to define dependnecy to make this resource executed between ironic::config::begin and ironic::config::end.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"8f45c65a141a0776ce6d840c5ca5266b1e63de00","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"},{"line_number":151,"context_line":"  }"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  file { \u0027/lib/systemd/system/ironic-dnsmasq-tftp.service\u0027:"},{"line_number":154,"context_line":"    ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":155,"context_line":"    mode    \u003d\u003e \u00270644\u0027,"},{"line_number":156,"context_line":"    owner   \u003d\u003e \u0027root\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"a7b60178_ed82eef6","line":153,"range":{"start_line":153,"start_character":10,"end_line":153,"end_character":57},"in_reply_to":"169e14ec_6b882a94","updated":"2021-08-13 00:13:49.000000000","message":"Hmm... We can skip alignment with the phases now. I noticed the existing resource definition of xinetd service is not mapped to the phases. Because ironic services don\u0027t depend on tftp server during deployment we can leave it for future todo.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d683e0f971796c9059e78fd537ea8ee2bdab7ba4","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"},{"line_number":151,"context_line":"  }"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  file { \u0027/lib/systemd/system/ironic-dnsmasq-tftp.service\u0027:"},{"line_number":154,"context_line":"    ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":155,"context_line":"    mode    \u003d\u003e \u00270644\u0027,"},{"line_number":156,"context_line":"    owner   \u003d\u003e \u0027root\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"435a4f69_4f9020d8","line":153,"range":{"start_line":153,"start_character":10,"end_line":153,"end_character":57},"in_reply_to":"169e14ec_6b882a94","updated":"2021-08-26 22:37:32.000000000","message":"Thanks, I happened to stumble upon that about fifteen minutes ago. Given the massive scale of the module, it does seem to make sense.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"95b7f4b1d0af5b307a33e227153827489b594758","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"},{"line_number":151,"context_line":"  }"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  file { \u0027/lib/systemd/system/ironic-dnsmasq-tftp.service\u0027:"},{"line_number":154,"context_line":"    ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":155,"context_line":"    mode    \u003d\u003e \u00270644\u0027,"},{"line_number":156,"context_line":"    owner   \u003d\u003e \u0027root\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"169e14ec_6b882a94","line":153,"range":{"start_line":153,"start_character":10,"end_line":153,"end_character":57},"in_reply_to":"199c1274_ac1c56d2","updated":"2021-08-12 17:44:50.000000000","message":"In current our modules, we define basic phases in the deps class. Mapping each resource to each phase helps us maintain dependency/timing of resources easily without maintaining huge number of dependencies among tons of resources.\n\nhttps://github.com/openstack/puppet-ironic/blob/5eba05ee112568e44ae147e7c450bf4a4e124998/manifests/deps.pp#L6-L27\n\nBasically we can map each resources to each phase, and if we need to put multiple items into one phases then we can explicitly define order/notification between these resources.\n(For example here creation of systemd file and reload would happen in config phase, but these two requires ordering/notification)","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"30e02cfe4de213f0f684ffbf79b1d53202e3c981","unresolved":true,"context_lines":[{"line_number":150,"context_line":"    ensure  \u003d\u003e \u0027absent\u0027,"},{"line_number":151,"context_line":"  }"},{"line_number":152,"context_line":""},{"line_number":153,"context_line":"  file { \u0027/lib/systemd/system/ironic-dnsmasq-tftp.service\u0027:"},{"line_number":154,"context_line":"    ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":155,"context_line":"    mode    \u003d\u003e \u00270644\u0027,"},{"line_number":156,"context_line":"    owner   \u003d\u003e \u0027root\u0027,"}],"source_content_type":"text/x-puppet","patch_set":21,"id":"199c1274_ac1c56d2","line":153,"range":{"start_line":153,"start_character":10,"end_line":153,"end_character":57},"in_reply_to":"ef629866_fb2ed35f","updated":"2021-08-12 16:58:32.000000000","message":"In regards to the unit, ack.\n\nUmm, dependency wise, should the resolution come from the dependency mapping via subscribe, which implies requires if memory serves from like a decade ago.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6690f37ab6bb9fdc31a3e3cc4b4486fcbdc629ec","unresolved":true,"context_lines":[{"line_number":170,"context_line":"    name      \u003d\u003e $::ironic::params::tftp_service,"},{"line_number":171,"context_line":"    enable    \u003d\u003e true,"},{"line_number":172,"context_line":"    hasstatus \u003d\u003e true,"},{"line_number":173,"context_line":"    tag       \u003d\u003e \u0027ironic-dnsmasq-tftp-service\u0027,"},{"line_number":174,"context_line":"    subscribe \u003d\u003e File[\u0027/lib/systemd/system/ironic-dnsmasq-tftp.service\u0027],"},{"line_number":175,"context_line":"  }"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":21,"id":"e80b4a46_79c3bc81","line":173,"range":{"start_line":173,"start_character":18,"end_line":173,"end_character":46},"updated":"2021-08-12 16:15:21.000000000","message":"This service should have ironic-service tag instead. I don\u0027t see any benefit of creating a new tag. If you add a new tag then you should define dependency in deps.pp.\n\nAlso this service might need to be notified by dnsmasq package so that the service is restarted when the package is updated.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"95b7f4b1d0af5b307a33e227153827489b594758","unresolved":true,"context_lines":[{"line_number":170,"context_line":"    name      \u003d\u003e $::ironic::params::tftp_service,"},{"line_number":171,"context_line":"    enable    \u003d\u003e true,"},{"line_number":172,"context_line":"    hasstatus \u003d\u003e true,"},{"line_number":173,"context_line":"    tag       \u003d\u003e \u0027ironic-dnsmasq-tftp-service\u0027,"},{"line_number":174,"context_line":"    subscribe \u003d\u003e File[\u0027/lib/systemd/system/ironic-dnsmasq-tftp.service\u0027],"},{"line_number":175,"context_line":"  }"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":21,"id":"3efc13a5_b0619ec6","line":173,"range":{"start_line":173,"start_character":18,"end_line":173,"end_character":46},"in_reply_to":"dc754e46_25dbc1eb","updated":"2021-08-12 17:44:50.000000000","message":"The reason I mentioned \u0027ironic-service\u0027 tag is the tag is used as an indicator to run that resource during the service booting phase. However after giving it additional though, now I tend to leave the current tag but just define order to make it happen between ironic::service::begin and ironic::service::end, because this service is not affected by any configuration files of ironic itself.\n https://github.com/openstack/puppet-ironic/blob/5eba05ee112568e44ae147e7c450bf4a4e124998/manifests/deps.pp#L26\n\nFor the second part, what do you mean by \"the apparent single usage of this module\" ?\npuppet-ironic should be able to manage lifecycle of ironic deployment. It should be able to create a fresh deployment and for that any expected order should be defined as dependnecies. It should be able to handle update of parameters or packages, so we define notifications so that any change would trigger required reload of services or regenerate of config files. Sorry I might misunderstand your current concern but I don\u0027t really get what is the concern with maintaining dependencies of resources in puppet-ironic.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"30e02cfe4de213f0f684ffbf79b1d53202e3c981","unresolved":true,"context_lines":[{"line_number":170,"context_line":"    name      \u003d\u003e $::ironic::params::tftp_service,"},{"line_number":171,"context_line":"    enable    \u003d\u003e true,"},{"line_number":172,"context_line":"    hasstatus \u003d\u003e true,"},{"line_number":173,"context_line":"    tag       \u003d\u003e \u0027ironic-dnsmasq-tftp-service\u0027,"},{"line_number":174,"context_line":"    subscribe \u003d\u003e File[\u0027/lib/systemd/system/ironic-dnsmasq-tftp.service\u0027],"},{"line_number":175,"context_line":"  }"},{"line_number":176,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":21,"id":"dc754e46_25dbc1eb","line":173,"range":{"start_line":173,"start_character":18,"end_line":173,"end_character":46},"in_reply_to":"e80b4a46_79c3bc81","updated":"2021-08-12 16:58:32.000000000","message":"I\u0027m fine not having any sort of tag, I was just trying to copy forth what was being done previously in cases where we mixed things together from packages with just a unit file.\n\nFor my use context, is there actually value for additional dependency tracking and mapping? Is the operational purpose of puppet ironic to be a fully supported thing on it\u0027s own independent of configuration file generation? I\u0027m explicitly asking because it is additional technical debt to maintain without value to the apparent single usage of this module. At least that I\u0027m aware. If there is other usage, I need to be aware.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"69ad9cfbc5d525dcde6c0798e2fb31ba271aeb9d","unresolved":true,"context_lines":[{"line_number":44,"context_line":"#   Defaults to \u0027$::ironic::params::syslinux_files\u0027"},{"line_number":45,"context_line":"#"},{"line_number":46,"context_line":"# [*tftp_bind_host*]"},{"line_number":47,"context_line":"#   (optional) The IP address dnsmasq will listen on for TFTP."},{"line_number":48,"context_line":"#   Defaults to undef (listen on all ip addresses)."},{"line_number":49,"context_line":"#"},{"line_number":50,"context_line":"# [*enable_ppc64le*]"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"4bc2c827_59430844","line":47,"range":{"start_line":47,"start_character":30,"end_line":47,"end_character":37},"updated":"2021-08-28 00:40:21.000000000","message":"should be \"TFTP server\"","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"895e3deb0a114527b0e3287b89c6679942fcbc2b","unresolved":false,"context_lines":[{"line_number":44,"context_line":"#   Defaults to \u0027$::ironic::params::syslinux_files\u0027"},{"line_number":45,"context_line":"#"},{"line_number":46,"context_line":"# [*tftp_bind_host*]"},{"line_number":47,"context_line":"#   (optional) The IP address dnsmasq will listen on for TFTP."},{"line_number":48,"context_line":"#   Defaults to undef (listen on all ip addresses)."},{"line_number":49,"context_line":"#"},{"line_number":50,"context_line":"# [*enable_ppc64le*]"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"9e9b399c_492eca56","line":47,"range":{"start_line":47,"start_character":30,"end_line":47,"end_character":37},"in_reply_to":"4bc2c827_59430844","updated":"2021-08-30 13:52:33.000000000","message":"Done","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"69ad9cfbc5d525dcde6c0798e2fb31ba271aeb9d","unresolved":true,"context_lines":[{"line_number":139,"context_line":"    before  \u003d\u003e Anchor[\u0027ironic::config::end\u0027],"},{"line_number":140,"context_line":"  }"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"  $options \u003d \"--map-file ${tftp_root_real}/map-file\""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"  if $tftp_use_xinetd {"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"ddccb0de_25218bc8","line":142,"updated":"2021-08-28 00:40:21.000000000","message":"This is used only in the below if block so put this after L145.","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"895e3deb0a114527b0e3287b89c6679942fcbc2b","unresolved":false,"context_lines":[{"line_number":139,"context_line":"    before  \u003d\u003e Anchor[\u0027ironic::config::end\u0027],"},{"line_number":140,"context_line":"  }"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"  $options \u003d \"--map-file ${tftp_root_real}/map-file\""},{"line_number":143,"context_line":""},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"  if $tftp_use_xinetd {"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"ccc2f804_69c63d83","line":142,"in_reply_to":"ddccb0de_25218bc8","updated":"2021-08-30 13:52:33.000000000","message":"Done","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"69ad9cfbc5d525dcde6c0798e2fb31ba271aeb9d","unresolved":true,"context_lines":[{"line_number":184,"context_line":"    }"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    if !($::osfamily \u003d\u003d \u0027RedHat\u0027 and Integer.new($::os[\u0027release\u0027][\u0027major\u0027]) \u003e 8) {"},{"line_number":187,"context_line":"      include xinetd"},{"line_number":188,"context_line":"      xinetd::service { \u0027tftp\u0027:"},{"line_number":189,"context_line":"        port        \u003d\u003e \u002769\u0027,"},{"line_number":190,"context_line":"        bind        \u003d\u003e $tftp_bind_host,"},{"line_number":191,"context_line":"        protocol    \u003d\u003e \u0027udp\u0027,"},{"line_number":192,"context_line":"        server_args \u003d\u003e \"${options} ${tftp_root_real}\","},{"line_number":193,"context_line":"        server      \u003d\u003e \u0027/usr/sbin/in.tftpd\u0027,"},{"line_number":194,"context_line":"        socket_type \u003d\u003e \u0027dgram\u0027,"},{"line_number":195,"context_line":"        cps         \u003d\u003e \u0027100 2\u0027,"},{"line_number":196,"context_line":"        per_source  \u003d\u003e \u002711\u0027,"},{"line_number":197,"context_line":"        wait        \u003d\u003e \u0027yes\u0027,"},{"line_number":198,"context_line":"        subscribe   \u003d\u003e Anchor[\u0027ironic::install::end\u0027],"},{"line_number":199,"context_line":"        disable     \u003d\u003e \u0027yes\u0027,"},{"line_number":200,"context_line":"      }"},{"line_number":201,"context_line":"    }"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    if $::ironic::params::tftpd_package !\u003d \u0027dnsmasq\u0027 {"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"6731fc5e_d27a16aa","line":200,"range":{"start_line":187,"start_character":0,"end_line":200,"end_character":7},"updated":"2021-08-28 00:40:21.000000000","message":"This definition installs xinetd package and enables xinetd service. Because here we don\u0027t need xinetd and want to ensure rsync is disabled in xinetd, that behavior is not desirable.\n\nIMO it\u0027s better we just show warning that rsync should be disabled from xinetd without any actual cleanup like;\n https://review.opendev.org/c/openstack/puppet-ironic/+/806276/3/manifests/pxe.pp#173","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"d776d20dbe1661cd167b99c85e30dc2ddc1810a0","unresolved":true,"context_lines":[{"line_number":184,"context_line":"    }"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    if !($::osfamily \u003d\u003d \u0027RedHat\u0027 and Integer.new($::os[\u0027release\u0027][\u0027major\u0027]) \u003e 8) {"},{"line_number":187,"context_line":"      include xinetd"},{"line_number":188,"context_line":"      xinetd::service { \u0027tftp\u0027:"},{"line_number":189,"context_line":"        port        \u003d\u003e \u002769\u0027,"},{"line_number":190,"context_line":"        bind        \u003d\u003e $tftp_bind_host,"},{"line_number":191,"context_line":"        protocol    \u003d\u003e \u0027udp\u0027,"},{"line_number":192,"context_line":"        server_args \u003d\u003e \"${options} ${tftp_root_real}\","},{"line_number":193,"context_line":"        server      \u003d\u003e \u0027/usr/sbin/in.tftpd\u0027,"},{"line_number":194,"context_line":"        socket_type \u003d\u003e \u0027dgram\u0027,"},{"line_number":195,"context_line":"        cps         \u003d\u003e \u0027100 2\u0027,"},{"line_number":196,"context_line":"        per_source  \u003d\u003e \u002711\u0027,"},{"line_number":197,"context_line":"        wait        \u003d\u003e \u0027yes\u0027,"},{"line_number":198,"context_line":"        subscribe   \u003d\u003e Anchor[\u0027ironic::install::end\u0027],"},{"line_number":199,"context_line":"        disable     \u003d\u003e \u0027yes\u0027,"},{"line_number":200,"context_line":"      }"},{"line_number":201,"context_line":"    }"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    if $::ironic::params::tftpd_package !\u003d \u0027dnsmasq\u0027 {"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"e9cc2821_f0d4cc7f","line":200,"range":{"start_line":187,"start_character":0,"end_line":200,"end_character":7},"in_reply_to":"6731fc5e_d27a16aa","updated":"2021-08-30 13:50:52.000000000","message":"that rsync should be disabled?!?  I\u0027m not sure that makes senes. But I think I understand what your saying and agree if the manifest *is* actually doing that in the backend. So cleanup becomes a warning. Okay.","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"0b915f1bcb2d0c639c510768a3e74b60af509a7f","unresolved":true,"context_lines":[{"line_number":184,"context_line":"    }"},{"line_number":185,"context_line":""},{"line_number":186,"context_line":"    if !($::osfamily \u003d\u003d \u0027RedHat\u0027 and Integer.new($::os[\u0027release\u0027][\u0027major\u0027]) \u003e 8) {"},{"line_number":187,"context_line":"      include xinetd"},{"line_number":188,"context_line":"      xinetd::service { \u0027tftp\u0027:"},{"line_number":189,"context_line":"        port        \u003d\u003e \u002769\u0027,"},{"line_number":190,"context_line":"        bind        \u003d\u003e $tftp_bind_host,"},{"line_number":191,"context_line":"        protocol    \u003d\u003e \u0027udp\u0027,"},{"line_number":192,"context_line":"        server_args \u003d\u003e \"${options} ${tftp_root_real}\","},{"line_number":193,"context_line":"        server      \u003d\u003e \u0027/usr/sbin/in.tftpd\u0027,"},{"line_number":194,"context_line":"        socket_type \u003d\u003e \u0027dgram\u0027,"},{"line_number":195,"context_line":"        cps         \u003d\u003e \u0027100 2\u0027,"},{"line_number":196,"context_line":"        per_source  \u003d\u003e \u002711\u0027,"},{"line_number":197,"context_line":"        wait        \u003d\u003e \u0027yes\u0027,"},{"line_number":198,"context_line":"        subscribe   \u003d\u003e Anchor[\u0027ironic::install::end\u0027],"},{"line_number":199,"context_line":"        disable     \u003d\u003e \u0027yes\u0027,"},{"line_number":200,"context_line":"      }"},{"line_number":201,"context_line":"    }"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    if $::ironic::params::tftpd_package !\u003d \u0027dnsmasq\u0027 {"}],"source_content_type":"text/x-puppet","patch_set":34,"id":"5e5cfb1b_32f9cb51","line":200,"range":{"start_line":187,"start_character":0,"end_line":200,"end_character":7},"in_reply_to":"e9cc2821_f0d4cc7f","updated":"2021-08-30 13:57:43.000000000","message":"\u003e that rsync should be disabled?!? \nMy previous explanation might be confusing but I intended \"this resource is declared to disable rsync endpoint from xinetd\" since disable \u003d\u003e \u0027yes\u0027 is defined\n\nThe package installation and service enablement is implemented in the xinetd class and the xinetd::service class in puppet-xinetd, unless we properly set parameters for these classes but IMO defining these would be \"too much\" here.","commit_id":"254a58a3e0fdd0ad8369981dd4bd709c485b7fa6"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"9149f8da3eb77a9f10dd1717041fcb08e763fe39","unresolved":true,"context_lines":[{"line_number":175,"context_line":"      ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":176,"context_line":"      content \u003d\u003e \"r ^([^/]) ${tftp_root_real}/\\\\1\","},{"line_number":177,"context_line":"    }"},{"line_number":178,"context_line":"  } else {"},{"line_number":179,"context_line":"    # TODO(tkajinam): Cleanup existing settings for xinetd"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    file { \"${tftp_root_real}/map-file\":"},{"line_number":182,"context_line":"      ensure  \u003d\u003e \u0027absent\u0027,"},{"line_number":183,"context_line":"    }"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    warning(\u0027Any prior xinetd based tftp server should be disabled and removed from the system.\u0027)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    if !($::osfamily \u003d\u003d \u0027RedHat\u0027 and Integer.new($::os[\u0027release\u0027][\u0027major\u0027]) \u003e 8) {"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    if $::ironic::params::tftpd_package !\u003d \u0027dnsmasq\u0027 {"},{"line_number":190,"context_line":"      fail(\u0027You cannot use tftp_use_xinet\u003dFalse without ironic::params::tftpd_package\u003ddnsmasq\u0027)"},{"line_number":191,"context_line":"    }"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    ensure_resource( \u0027package\u0027, \u0027tftp-server\u0027, {"},{"line_number":194,"context_line":"      \u0027ensure\u0027 \u003d\u003e $package_ensure,"},{"line_number":195,"context_line":"      \u0027name\u0027   \u003d\u003e $::ironic::params::tftpd_package,"},{"line_number":196,"context_line":"      \u0027tag\u0027    \u003d\u003e [\u0027openstack\u0027, \u0027ironic-ipxe\u0027, \u0027ironic-support-package\u0027],"},{"line_number":197,"context_line":"    })"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    file { \u0027/etc/ironic/dnsmasq-tftp-server.conf\u0027:"},{"line_number":200,"context_line":"      ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":201,"context_line":"      mode    \u003d\u003e \u00270644\u0027,"},{"line_number":202,"context_line":"      owner   \u003d\u003e \u0027root\u0027,"},{"line_number":203,"context_line":"      group   \u003d\u003e \u0027root\u0027,"},{"line_number":204,"context_line":"      content \u003d\u003e template(\u0027ironic/dnsmasq-tftp-server.conf\u0027),"},{"line_number":205,"context_line":"    }"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    service { \u0027tftp-server\u0027:"},{"line_number":208,"context_line":"      ensure    \u003d\u003e \u0027running\u0027,"},{"line_number":209,"context_line":"      name      \u003d\u003e $::ironic::params::tftp_service,"},{"line_number":210,"context_line":"      enable    \u003d\u003e true,"},{"line_number":211,"context_line":"      hasstatus \u003d\u003e true,"},{"line_number":212,"context_line":"      subscribe \u003d\u003e File[\u0027/etc/ironic/dnsmasq-tftp-server.conf\u0027],"},{"line_number":213,"context_line":"    }"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    Package[\u0027tftp-server\u0027] ~\u003e Service[\u0027tftp-server\u0027]"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"  }"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":35,"id":"bce9ed28_c2c60f75","line":215,"range":{"start_line":178,"start_character":4,"end_line":215,"end_character":52},"updated":"2021-09-03 16:23:18.000000000","message":"A radical suggestion. Do we need to configure the tftp server at RHEL|CentOS \u003e 8?\nTripleO only need the directories set up right? Switching to dnsmasq can be done here instead: https://opendev.org/openstack/tripleo-heat-templates/src/branch/master/deployment/ironic/ironic-pxe-container-puppet.yaml#L125\n\nCentOS \u003c\u003d 8 and Debian|ubuntu can continue to configure xinet.d tftp?","commit_id":"9c1fef901379749dadc0ac6bc33a7d4d69e75098"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"f16a7e9c99c12e5973ab1e942be1c8e481915120","unresolved":true,"context_lines":[{"line_number":175,"context_line":"      ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":176,"context_line":"      content \u003d\u003e \"r ^([^/]) ${tftp_root_real}/\\\\1\","},{"line_number":177,"context_line":"    }"},{"line_number":178,"context_line":"  } else {"},{"line_number":179,"context_line":"    # TODO(tkajinam): Cleanup existing settings for xinetd"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"    file { \"${tftp_root_real}/map-file\":"},{"line_number":182,"context_line":"      ensure  \u003d\u003e \u0027absent\u0027,"},{"line_number":183,"context_line":"    }"},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"    warning(\u0027Any prior xinetd based tftp server should be disabled and removed from the system.\u0027)"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    if !($::osfamily \u003d\u003d \u0027RedHat\u0027 and Integer.new($::os[\u0027release\u0027][\u0027major\u0027]) \u003e 8) {"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"    if $::ironic::params::tftpd_package !\u003d \u0027dnsmasq\u0027 {"},{"line_number":190,"context_line":"      fail(\u0027You cannot use tftp_use_xinet\u003dFalse without ironic::params::tftpd_package\u003ddnsmasq\u0027)"},{"line_number":191,"context_line":"    }"},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"    ensure_resource( \u0027package\u0027, \u0027tftp-server\u0027, {"},{"line_number":194,"context_line":"      \u0027ensure\u0027 \u003d\u003e $package_ensure,"},{"line_number":195,"context_line":"      \u0027name\u0027   \u003d\u003e $::ironic::params::tftpd_package,"},{"line_number":196,"context_line":"      \u0027tag\u0027    \u003d\u003e [\u0027openstack\u0027, \u0027ironic-ipxe\u0027, \u0027ironic-support-package\u0027],"},{"line_number":197,"context_line":"    })"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    file { \u0027/etc/ironic/dnsmasq-tftp-server.conf\u0027:"},{"line_number":200,"context_line":"      ensure  \u003d\u003e \u0027present\u0027,"},{"line_number":201,"context_line":"      mode    \u003d\u003e \u00270644\u0027,"},{"line_number":202,"context_line":"      owner   \u003d\u003e \u0027root\u0027,"},{"line_number":203,"context_line":"      group   \u003d\u003e \u0027root\u0027,"},{"line_number":204,"context_line":"      content \u003d\u003e template(\u0027ironic/dnsmasq-tftp-server.conf\u0027),"},{"line_number":205,"context_line":"    }"},{"line_number":206,"context_line":""},{"line_number":207,"context_line":"    service { \u0027tftp-server\u0027:"},{"line_number":208,"context_line":"      ensure    \u003d\u003e \u0027running\u0027,"},{"line_number":209,"context_line":"      name      \u003d\u003e $::ironic::params::tftp_service,"},{"line_number":210,"context_line":"      enable    \u003d\u003e true,"},{"line_number":211,"context_line":"      hasstatus \u003d\u003e true,"},{"line_number":212,"context_line":"      subscribe \u003d\u003e File[\u0027/etc/ironic/dnsmasq-tftp-server.conf\u0027],"},{"line_number":213,"context_line":"    }"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    Package[\u0027tftp-server\u0027] ~\u003e Service[\u0027tftp-server\u0027]"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"  }"},{"line_number":218,"context_line":""}],"source_content_type":"text/x-puppet","patch_set":35,"id":"53adb626_bf615e91","line":215,"range":{"start_line":178,"start_character":4,"end_line":215,"end_character":52},"in_reply_to":"bce9ed28_c2c60f75","updated":"2021-09-28 12:50:20.000000000","message":"In TripleO we don\u0027t use most of resources like package, service and etc and as you pointed the only thing we use is the config files and directories created by puppet in most case. The easiest way to implement the switch in tripleo would be to update that command but once this is merged you can leverage the config file generated by puppet-ironic\n.","commit_id":"9c1fef901379749dadc0ac6bc33a7d4d69e75098"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"2e4a0437b3c00542f075c2675414bbc517068336","unresolved":false,"context_lines":[{"line_number":64,"context_line":"#   Defaults to \u0027snponly.efi\u0027"},{"line_number":65,"context_line":"#"},{"line_number":66,"context_line":"# [*tftp_use_xinetd*]"},{"line_number":67,"context_line":"#   (optional) Override wheter to use xinetd instead of dnsmasq as the tftp"},{"line_number":68,"context_line":"#   service facilitator."},{"line_number":69,"context_line":"#   Defaults to ironic::params::xinetd_available"},{"line_number":70,"context_line":"#"}],"source_content_type":"text/x-puppet","patch_set":43,"id":"00f1fc30_8423c704","line":67,"updated":"2021-10-05 10:12:08.000000000","message":"nit: whether","commit_id":"f2dd0d3cc50fb1fdfc0dd9df8bb16c0d6429e5be"}],"templates/dnsmasq-ironic-tftp.service.erb":[{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"4c1be5e4d6e720049f84c080775f4b4c6a5f3068","unresolved":true,"context_lines":[{"line_number":1,"context_line":"[Unit]"},{"line_number":2,"context_line":"Description\u003dIronic dnsmasq TFTP Service"},{"line_number":3,"context_line":"After\u003dnetwork.target"},{"line_number":4,"context_line":""}],"source_content_type":"application/x-erb","patch_set":32,"id":"d439378d_4027892b","line":1,"updated":"2021-08-26 16:15:04.000000000","message":"This should not be managed via puppet. This should be provided via a package. It could be a sub package but we should not manage this here.","commit_id":"27f4068e0a829013b346660e998d6c0a6479047e"},{"author":{"_account_id":14985,"name":"Alex Schultz","email":"aschultz@next-development.com","username":"mwhahaha"},"change_message_id":"4c1be5e4d6e720049f84c080775f4b4c6a5f3068","unresolved":true,"context_lines":[{"line_number":3,"context_line":"After\u003dnetwork.target"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"[Service]"},{"line_number":6,"context_line":"\u003c% if @tftp_bind_host -%\u003e"},{"line_number":7,"context_line":"ExecStart\u003d/usr/sbin/dnsmasq --keep-in-foreground --user\u003droot --listen-address\u003d\u003c%\u003d @tftp_bind_host %\u003e --port\u003d0 --enable-tftp --tftp-root\u003d\u003c%\u003d @tftp_root_real %\u003e"},{"line_number":8,"context_line":"\u003c% else -%\u003e"},{"line_number":9,"context_line":"ExecStart\u003d/usr/sbin/dnsmasq --keep-in-foreground --user\u003droot --port\u003d0 --enable-tftp --tftp-root\u003d\u003c%\u003d @tftp_root_real %\u003e"},{"line_number":10,"context_line":"\u003c% end -%\u003e"},{"line_number":11,"context_line":"KillMode\u003dprocess"},{"line_number":12,"context_line":"RestartSec\u003d5"}],"source_content_type":"application/x-erb","patch_set":32,"id":"71526558_2b0bdce2","line":9,"range":{"start_line":6,"start_character":0,"end_line":9,"end_character":118},"updated":"2021-08-26 16:15:04.000000000","message":"It would be better if this was an ironic specific dnsmasq config rather than passing via cli params. That way you could ship a stock ironic-tftp-dnsmasq.cfg and openstack-ironic-tftp-dnsmasq.service. and puppet could just update the config and manage the service state","commit_id":"27f4068e0a829013b346660e998d6c0a6479047e"}],"templates/ironic-dnsmasq-tftp.service.erb":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"6690f37ab6bb9fdc31a3e3cc4b4486fcbdc629ec","unresolved":true,"context_lines":[{"line_number":3,"context_line":"After\u003dnetwork.target"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"[Service]"},{"line_number":6,"context_line":"ExecStart\u003d/usr/sbin/dnsmasq --keep-in-foreground --user\u003droot --listen-address\u003d\u003c%\u003d @tftp_bind_host %\u003e --port\u003d0 --enable-tftp --tftp-root\u003d\u003c%\u003d @tftp_root_real %\u003e"},{"line_number":7,"context_line":"KillMode\u003dprocess"},{"line_number":8,"context_line":"RestartSec\u003d5"},{"line_number":9,"context_line":"Restart\u003don-failure"}],"source_content_type":"application/x-erb","patch_set":21,"id":"b9d1f335_342c42f1","line":6,"range":{"start_line":6,"start_character":78,"end_line":6,"end_character":100},"updated":"2021-08-12 16:15:21.000000000","message":"Note tftp_bind_host defaults to undef, so this would results in something like\n\n... --listen-address\u003d --port\u003d0 --enable-tftp ...\n\nunless a user explicitly define any value to the parameter.","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"30e02cfe4de213f0f684ffbf79b1d53202e3c981","unresolved":true,"context_lines":[{"line_number":3,"context_line":"After\u003dnetwork.target"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"[Service]"},{"line_number":6,"context_line":"ExecStart\u003d/usr/sbin/dnsmasq --keep-in-foreground --user\u003droot --listen-address\u003d\u003c%\u003d @tftp_bind_host %\u003e --port\u003d0 --enable-tftp --tftp-root\u003d\u003c%\u003d @tftp_root_real %\u003e"},{"line_number":7,"context_line":"KillMode\u003dprocess"},{"line_number":8,"context_line":"RestartSec\u003d5"},{"line_number":9,"context_line":"Restart\u003don-failure"}],"source_content_type":"application/x-erb","patch_set":21,"id":"ace341ef_ea2312fa","line":6,"range":{"start_line":6,"start_character":78,"end_line":6,"end_character":100},"in_reply_to":"b9d1f335_342c42f1","updated":"2021-08-12 16:58:32.000000000","message":"ugh, yay! Thanks!","commit_id":"0aab673d7290cc1cfcb9504c9dc6e3b0580b875b"}]}
