私は今週、Zenoss3.1でこの問題に取り組んでいます。
警告-あなたが悪いzenpack
を作った場合-待つ必要はありません-あなたが悪いzenpackを作ったとき、それはZopeのdbで立ち往生する可能性があり、それをAFAIKから出す方法はありません。それで-
まず、GUIを使用して、クリーンなZenossサイトの完全バックアップを作成します。
後で、混乱をクリーンアップするためにzenrestoreを使用して復元する必要があります。
2つの答えがあると思います:
1)ポートレットの場合-
ポートレットは、卵を使用してのみインストールできます。通常、Zenossのドキュメントでは、GUIインターフェイスを使用して卵を作成することを推奨していますが、それはばかげた開発の反復になります。ただし、他の方法のドキュメントに説明があります。おそらくShowGraphやGoogleMapsなどのよく知られたコミュニティポートレットで始まるコードが、通常のzenpackではなく、ポートレットに対して正しい場合は、
python setup.py bdist_egg
これにより、distおよびbuildディレクトリが作成されます。
卵はdistディレクトリにあります。
GUIを使用してeggをインストールします。
完全にインストールされていないことに注意してください...grrrrrr。
デーモンを再起動します-zopectl restart ; zenhub restart
テスト。
GUIを使用してポートレットを削除します。繰り返す。
落とし穴:
-setup.pyと、おそらく1つ以上のINSTALL.txtMANIFEST.inREADME.txtがトップディレクトリにある必要があります。
Setup.pyはディレクトリ名と一致する必要があります。
古いまたはコピーされたinit.pyファイルとそのinit.pycバージョンを使用している場合は、これらのpycファイルを削除して、Pythonスクリプトに強制的に再作成させる必要がある場合があります。
念のため、次のようにスクリプトを実行するのが好きです。
rm -f ./dist ./build ; python setup.py bdist_egg
2)通常のzenpackの場合
ドキュメントには、これを行う方法が記載されています。
zenpackを任意のソースからインストールします。多くの場合、GUIによって作成された空のものから始めるだけです。
/usr/local/zenoss/zenoss/Zenpacks/yourzenpack
からファイルをコード開発領域にコピーします。
GUIを使用してzenpackをアンインストールします。
zenossユーザーとしてのコマンドラインで、zpack install --linkコマンド(構文の検索)を実行して、実際にコード領域にあるzenpackをインストールします。
テスト
コードを更新します。
zenossとしてコマンドラインで、zopectl restart ; zenhub restart
テスト。
繰り返す。幸せになる。