第1章 概要
Java ソフトウェア開発キットは、Java ベースプロジェクトで Red Hat Virtualization Manager との対話を可能にするクラスのコレクションです。これらのクラスをダウンロードしてプロジェクトに追加することにより、管理タスクを高度に自動化するさまざまな機能を利用することができます。
Red Hat Virtualization では、Java ソフトウェア開発キットの 2 つのバージョンを提供しています。
- バージョン 3
- Java ソフトウェア開発キットバージョン 3 では、Red Hat Enterprise Virtualization 3.6 の最新リリースの時点で Java ソフトウェア開発キットで提供されているクラスとメソッド構造との後方互換性があります。Red Hat Enterprise Virtualization 3.6 の Java ソフトウェア開発キットを使用して記述されたアプリケーションは、修正なしにこのバージョンで使用することができます。
- バージョン 4
- Java ソフトウェア開発キットバージョン 4 では、クラスやメソッド名および署名が更新されています。Red Hat Enterprise Virtualization 3.6 の Java ソフトウェア開発キットで記述されたアプリケーションは更新してからでないと、このバージョンでは使用できません。
Red Hat Virtualization 環境では、適切なパッケージをインストールしたり、Java プロジェクトに必要なライブラリーを追加したりする際に必要であるため、Java ソフトウェア開発キットのどちらのバージョンも使用できます。
1.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
Java ソフトウェア開発キットをインストールする場合の前提条件は以下のとおりです。
- Red Hat Enterprise Linux 7 がインストールされたシステム。Server バージョンと Workstation バージョンがサポートされます。
- Red Hat Hat Virtualization エンタイトルメントのサブスクリプション。
ソフトウェア開発キットは、Red Hat Virtualization REST API のインターフェースです。このように、Red Hat Virtualization 環境のバージョンに適したソフトウェア開発キットのバージョンを使用する必要があります。たとえば、Red Hat Virtualization 4.1 を使用している場合には、4.1 向けに設計されたソフトウェア開発キットのバージョンを使用する必要があります。
1.2. Java ソフトウェア開発キットのインストール リンクのコピーリンクがクリップボードにコピーされました!
Java ソフトウェア開発キットと付属ドキュメントをインストールします。
Java ソフトウェア開発キットのインストール
必要なチャンネルを有効にします。
subscription-manager repos --enable=rhel-7-server-rpms subscription-manager repos --enable=rhel-7-server-rhv-4.1-rpms subscription-manager repos --enable=jb-eap-7-for-rhel-7-server-rpms
# subscription-manager repos --enable=rhel-7-server-rpms # subscription-manager repos --enable=rhel-7-server-rhv-4.1-rpms # subscription-manager repos --enable=jb-eap-7-for-rhel-7-server-rpms
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 必要なパッケージをインストールします。
バージョン 3 の場合:
yum install ovirt-engine-sdk-java ovirt-engine-sdk-javadoc
# yum install ovirt-engine-sdk-java ovirt-engine-sdk-javadoc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow バージョン 4 の場合:
yum install java-ovirt-engine-sdk4
# yum install java-ovirt-engine-sdk4
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Java ソフトウェア開発キットと付属ドキュメントが /usr/share/java/rhevm-sdk-java のディレクトリーにダウンロードされ、Java プロジェクトに追加できる状態となりました。
1.3. 依存関係 リンクのコピーリンクがクリップボードにコピーされました!
Java アプリケーションで Java ソフトウェア開発キットを使用するには、これらのアプリケーションのクラスパスに以下の JAR ファイルを追加する必要があります。
- commons-beanutils.jar
- commons-codec.jar
- httpclient.jar
- httpcore.jar
- jakarta-commons-logging.jar
- log4j.jar
これらの JAR ファイルを提供するパッケージが ovirt-engine-sdk-java
パッケージの依存関係としてインストールされます。デフォルトでは、Red Hat Enterprise Linux 6 および Red Hat Enterprise Linux 7 システムでは、/usr/share/java から入手できます。
1.4. SSL の設定 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Virtualization Manager Java SDK は、Java Secure Socket Extension (JSSE) を使用して、Secure Sockets Layer (SSL) および IETF Transport Layer Security (TLS) プロトコルを介した HTTP の完全なサポートを提供します。JSSE は Java 2 にバージョン 1.4 として実装されており、Java-SDK では追加設定なしで使用することができます。Java 2 の旧バージョンには、JSSE は手動でインストールおよび設定する必要があります。
1.4.1. SSL の設定 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順では、Java SDK を使用して SSL を設定する方法を説明します。
SSL の設定
Red Hat Virtualization Manager で使用する証明書をダウンロードします。
注記デフォルトでは、Red Hat Virtualization Manager で使用する証明書の場所は
/etc/pki/ovirt-engine/ca.pem
です。トラストストアを作成します。
keytool -import -alias "server.crt truststore" -file ca.crt -keystore server.truststore
$ keytool -import -alias "server.crt truststore" -file ca.crt -keystore server.truststore
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Api
またはConnection
オブジェクトのインスタンスを構築する際には、trustStoreFile
およびtrustStorePassword
の引数を指定します。myBuilder.trustStoreFile("/home/username/server.truststore"); myBuilder.trustStorePassword("p@ssw0rd");
myBuilder.trustStoreFile("/home/username/server.truststore"); myBuilder.trustStorePassword("p@ssw0rd");
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記接続の作成時に
trustStoreFile
オプションを指定しない場合には、Java SDK はシステム変数javax.net.ssl.trustStore
で指定したデフォルトのトラストストアを使用するように試行します。このシステム変数がトラストストアを指定しない場合は、Java SDK は$JAVA_HOME/lib/security/jssecacerts
または$JAVA_HOME/lib/security/cacerts
で指定のトラストストアを使用するように試行します。
1.4.2. ホストの検証 リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Red Hat Virtualization Manager への接続を確立しようとすると、証明書のホスト名のアイデンティティーが検証されます。Connection
クラスのインスタンスを構築している場合に、以下の引数を渡すとこの検証を無効にできます。
myBuilder.insecure(true);
myBuilder.insecure(true);
ホストのアイデンティティーを検証しないことによってもたらされるセキュリティーへの影響を認識した上での意識的な決断でない限りは、この方法は、セキュリティー上の理由から、実稼働システムで使用すべきではありません。