Nomad: プランの差分出力は配列を数値的にソートしません

作成日 2018年06月15日  ·  3コメント  ·  ソース: hashicorp/nomad

遊牧民バージョン

Nomad v0.8.3 (c85483da3471f4bd3a7c3de112e95f551071769f)

オペレーティングシステムと環境の詳細

OS X、おそらく該当なし

問題

plan diffの出力には、 args[]変更が一覧表示されますが、数値で並べ替えられていません。 ユーザーとして、私は配列がインデックスによって数値的にソートされることを期待します。

+/- Task Group: "fabio" (2 create)
  +/- Task: "lb" (forces create/destroy update)
    +/- Config {
          args[0]:                                     "/fabio"
      +/- args[10]:                                    "-proxy.addr" => ":50560;proto=tcp"
      +/- args[11]:                                    ":9021;proto=tcp" => "-proxy.addr"
      +/- args[12]:                                    "-proxy.addr" => ":9021;proto=tcp"
      +/- args[13]:                                    ":49300;proto=tcp" => "-proxy.addr"
      +/- args[14]:                                    "-proxy.addr" => ":49300;proto=tcp"
      +/- args[15]:                                    ":50850;proto=tcp" => "-proxy.addr"
      +/- args[16]:                                    "-proxy.addr" => ":50850;proto=tcp"
      +/- args[17]:                                    ":52240;proto=tcp" => "-proxy.addr"
      +/- args[18]:                                    "-proxy.addr" => ":52240;proto=tcp"
      +/- args[19]:                                    ":50360;proto=tcp" => "-proxy.addr"
          args[1]:                                     "-registry.consul.addr=consul:8500"
      +/- args[20]:                                    "-proxy.addr" => ":50360;proto=tcp"
      +/- args[21]:                                    ":50880;proto=tcp" => "-proxy.addr"
      +/- args[22]:                                    "-proxy.addr" => ":50880;proto=tcp"
      +/- args[23]:                                    ":52760;proto=tcp" => "-proxy.addr"
      +/- args[24]:                                    "-proxy.addr" => ":52760;proto=tcp"
      +/- args[25]:                                    ":9010;proto=tcp" => "-proxy.addr"
      +/- args[26]:                                    "-proxy.addr" => ":9010;proto=tcp"
      +/- args[27]:                                    ":50110;proto=tcp" => "-proxy.addr"
      +/- args[28]:                                    "-proxy.addr" => ":50110;proto=tcp"
      +/- args[29]:                                    ":52100;proto=tcp" => "-proxy.addr"
          args[2]:                                     "-registry.consul.register.enabled=false"
      +/- args[30]:                                    "-proxy.addr" => ":52100;proto=tcp"
      +/- args[31]:                                    ":52810;proto=tcp" => "-proxy.addr"
      +/- args[32]:                                    "-proxy.addr" => ":52810;proto=tcp"
      +/- args[33]:                                    ":52410;proto=tcp" => "-proxy.addr"
      +/- args[34]:                                    "-proxy.addr" => ":52410;proto=tcp"

複製手順

10個の引数を超える引数リストのタスク引数を変更します。

themcli themplan typbug

最も参考になるコメント

確認済みであり、10個以上の引数を持つ任意のジョブファイルでnomad plan -verbose foo.nomadを実行することで再現できます。

job "echo" {
  type = "batch"
  datacenters = ["dc1"]
  group "echo" {
    task "echo" {
      driver = "raw_exec"

      config {
        command = "/bin/sh"
        args    = ["-c", "echo x", "", "", "", "", "", "", "", "", "", ""]
      }
    }
  }
}

出力スニペット:

+ Config {
      + args[0]:  "-c"
        args[10]: ""
        args[11]: ""

全てのコメント3件

確認済みであり、10個以上の引数を持つ任意のジョブファイルでnomad plan -verbose foo.nomadを実行することで再現できます。

job "echo" {
  type = "batch"
  datacenters = ["dc1"]
  group "echo" {
    task "echo" {
      driver = "raw_exec"

      config {
        command = "/bin/sh"
        args    = ["-c", "echo x", "", "", "", "", "", "", "", "", "", ""]
      }
    }
  }
}

出力スニペット:

+ Config {
      + args[0]:  "-c"
        args[10]: ""
        args[11]: ""

テストケース@schmichaelを提供していただきありがとうございます。 当時はかなり怠惰で、最小限の仕事のスペックを作る方法を知りたくありませんでした。 :しかめっ面:

心配ありません@ dekimsey-あなたのレポートは素晴らしかったです! ヒントとして、 nomad init -shortは、標準のnomad init出力の大量のコメントなしで、より小さなサンプルジョブファイルを取得するための優れた方法です。 #4239

このページは役に立ちましたか?
0 / 5 - 0 評価