문제

그것은 지정 특성 값에서 요리사 솔로 JSON?저는 솔로입니다.json 으로 이루어진 목록과 같은 특성을 지정합니다있다.Chef 설명서를 나타낼 것으로 보인다 그것이 있어야 가능한 나를 위해 무언가를 하는 다음과 같:

{
    "hostname": {
        "test": "value2"
    },
    "default_attributes": {
        "hostname": {
            "test": "value3"
        }
    },
    "override_attributes": {
        "hostname": {
            "test": "value4"
        }
    },
    "default": {
        "hostname": {
            "test": "value5"
        }
    },
    "run_list": [
        "recipe[hostname::default]"
    ]
}

그러나 때마다 내가 값에 액세스하려고 하에 내 레시피는:

p node['hostname']['test']

나는 그냥 가치에 정의된 특성/기본입니다.rb 있는 경우,정의하지 않는가,내가 전무 값이다.

는 방법이 있을 참조하려면 이러한 가치입니까?

도움이 되었습니까?

해결책

노드 데이터에 저장할 수있는 속성의 유일한 속성은 normal이며, result는 수렴 시작 및 역할, 환경 및 요리 책에서 다시 작성됩니다.당신은 이처럼 보이는 것처럼 원하는 것 :

{
  "normal": {
    "hostname": {
      "test": "something"
    }
  },
  "run_list": [
    "recipe[hostname::default]"
  ]
}
.

다른 팁

가하여 위의 예제를 설정하는 특성에 JSON 파일에 대한 요리사-솔로,그리고 "normal": {...} 블록이 완전히 무시됩니다.실행 목록을 읽었지만,속성의 것 없이 작동합니다.

내 명령어는 다음과 같습니다.

chef-solo -c /path/to/config_file.rb -j /path/to/file.json

내 JSON file:

{
  "name": "my_json_file",
  "description": "JSON run-list and attributes.",
  "normal": {
    "my_cookbook": {
      "git_branch": "staging"
    }
  },
  "run_list": [
    "recipe[my_cookbook::recipe1]",
    "recipe[my_cookbook::recipe2]",
  ]
}

는 동안 수렴 요리사는 곧바로 다시 기본 값은 내부의 attributes/default.rb.는 JSON 값이 올바르게 입력?지금까지의 유일한 해결 방법을 만들 수있는 새로운 레시피의 각 "git_branch": 특성하고 싶 테스트와 함께 요리사-솔로를 추가하는 것이 업데이트를 실행 목록을 다른 JSON 파일입니다.기본적으로 복사하면 전체 레시피를 변경하는 단일 node.normal['my_cookbook']['git_branch'] 값이 있습니다.말할 필요도 없이,이할 수 없는 솔루션입니다.

를 사용하여 요리사 14.0.202

후속 조치 :

json 파일 내의 속성 우선 순위 레벨을 요리사 솔로로 설정하지 않습니다.JSON은 다음과 유사해야합니다 :

{
  "name": "my_json_file",
  "description": "JSON run-list and attributes.",
  "my_cookbook": {
    "git_branch": "staging"
  },
  "run_list": [
    "recipe[my_cookbook::recipe1]",
    "recipe[my_cookbook::recipe2]",
  ]
}
.

"normal": {...} 또는 "default_attributes": {...} 등을 포함하지 않으므로 Chef-Solo의 속성이 사용하도록 속성을 전달합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top