2017-01-17 3 views
0

私のparcels.jsonで "alternatives"キーを使用しようとしました。しかし、Clouderaのパーセル・バリデーターは、Clouderaパーセルを作成するときに "alternatives"キーを使用できない

==>認識されないフィールド "scripts.alternatives" ==>で蹴飛ばしました。認識フィールドがある "[定義、_defines]"

マイparcel.jsonファイルは次のとおりです。

{ 
    "schema_version": 1, 
    "name": "Runtime", 
    "version": "2", 
    "setActiveSymlink": true, 

    "depends": "", 
    "replaces": "MATLAB_Runtime", 
    "conflicts": "", 

    "provides": [ 
    "mine" 
    ], 

    "scripts": { 
    "defines": "env.sh", 
    "alternatives": "alternatives.json" 
    }, 

    "packages": [ 
    { "name" : "Runtime", 
     "version": "2" 
    } 
    ], 

    "components": [ 
    { "name"  : "mine", 
     "version" : "2", 
     "pkg_version": "2", 
     "pkg_release": "2" 
    } 
    ], 

    "users":{}, 

    "groups":[] 
} 

JSONは "代替" キーなしで細かい検証します。

parcels.jsonのスキーマは、One Engineer’s Experience with Parcelで記述されています。

そしてvalidates.jsonの内容はこれによってThe alternatives.json file

答えて

2

で説明されていますhttps://github.com/cloudera/cm_ext/wiki/The-parcel.json-file

スクリプト現在のところ、それが、ClouderaのManagerで指定し、使用することができる唯一のスクリプトがある 将来変更される可能性があります。 定義:このスクリプトは、パーセルが(タグに基づいて)影響を及ぼす各プロセスの環境に供給されます。パーセルに環境変数を定義する必要がない場合でも、このスクリプトを提供する必要があります(スクリプト自体は空でもかまいません)。 '定義'スクリプトは、パーセルのコンテンツをプロセスがアクセスできるようにする実際の作業を行います。これは実質的な話題で、[ここ](The Parcel Defines Script)で議論されています。

scriptsブロック内には、definesオプションしか指定できません。 alternatives.jsonファイルであるため、これに応じて(https://github.com/cloudera/cm_ext/wiki/The-alternatives.json-file)はオプションで、scmエージェントが自動的に使用します。

-aオプション付きのバリデータ(https://github.com/cloudera/cm_ext/tree/master/validator)を使用して、ファイルが正しいことを確認してください。

-a,--alternatives-json <FILE> The alternatives.json file to validate

関連する問題