3.6. OpenStack の前提条件
OpenStack の移行には、次の前提条件が適用されます。
- 互換性のあるバージョン の OpenStack を使用している。
3.6.1. OpenStack 移行元プロバイダーを使用した移行のための追加の認証方法
MTV バージョン 2.6 以降では、標準のユーザー名とパスワードの認証情報セットに加えて、OpenStack 移行元プロバイダーを使用した移行のための次の認証方法がサポートされています。
- トークン認証
- アプリケーション認証情報の認証
これらの方法を使用すると、Secret
マニフェストを準備する方法を除き、他の仮想マシンを移行するのと同じ方法で、コマンドラインインターフェイス (CLI) を使用して OpenStack ソースプロバイダーで仮想マシンを移行できます。
3.6.1.1. OpenStack 移行元プロバイダーでのトークン認証の使用
OpenStack 移行元プロバイダーの作成時に、ユーザー名とパスワード認証の代わりにトークン認証を使用できます。
MTV は、次の両方のタイプのトークン認証をサポートしています。
- ユーザー ID のトークン
- ユーザー名が含まれるトークン
トークン認証のタイプごとに、OpenStack からのデータを使用して Secret
マニフェストを作成する必要があります。
前提条件
OpenStack アカウントがある。
手順
- OpenStack Web コンソールの Dashboard で、Project > API Access をクリックします。
Download OpenStack RC file を展開し、OpenStack RC file をクリックします。
ダウンロードされるファイル (ここでは
<openstack_rc_file>
と呼びます) には、トークン認証に使用される次のフィールドが含まれています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OS_AUTH_URL OS_PROJECT_ID OS_PROJECT_NAME OS_DOMAIN_NAME OS_USERNAME
OS_AUTH_URL OS_PROJECT_ID OS_PROJECT_NAME OS_DOMAIN_NAME OS_USERNAME
トークン認証に必要なデータを取得するには、次のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack token issue
$ openstack token issue
ここでは
<openstack_token_output>
と呼ばれる出力には、ユーザー ID のトークンを使用した認証に必要なtoken
、userID
、およびprojectID
が含まれています。以下のような
Secret
マニフェストを作成します。ユーザー ID のトークンを使用した認証の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-tokenid namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: token token: <token_from_openstack_token_output> projectID: <projectID_from_openstack_token_output> userID: <userID_from_openstack_token_output> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-tokenid namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: token token: <token_from_openstack_token_output> projectID: <projectID_from_openstack_token_output> userID: <userID_from_openstack_token_output> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
ユーザー名でトークンを使用した認証の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-tokenname namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: token token: <token_from_openstack_token_output> domainName: <OS_DOMAIN_NAME_from_openstack_rc_file> projectName: <OS_PROJECT_NAME_from_openstack_rc_file> username: <OS_USERNAME_from_openstack_rc_file> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-tokenname namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: token token: <token_from_openstack_token_output> domainName: <OS_DOMAIN_NAME_from_openstack_rc_file> projectName: <OS_PROJECT_NAME_from_openstack_rc_file> username: <OS_USERNAME_from_openstack_rc_file> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
3.6.1.2. OpenStack 移行元プロバイダーでのアプリケーション認証情報の認証の使用
OpenStack 移行元プロバイダーの作成時に、ユーザー名とパスワード認証の代わりにアプリケーション認証情報の認証を使用できます。
MTV は、次のアプリケーション認証情報の認証をサポートします。
- アプリケーション認証情報 ID
- アプリケーション認証情報名
アプリケーション認証情報の認証のタイプごとに、OpenStack からのデータを使用して Secret
マニフェストを作成する必要があります。
前提条件
OpenStack アカウントがある。
手順
- OpenStack Web コンソールの Dashboard で、Project > API Access をクリックします。
Download OpenStack RC file を展開し、OpenStack RC file をクリックします。
ダウンロードするファイル (ここでは
<openstack_rc_file>
と呼びます) には、アプリケーション認証情報の認証に使用される次のフィールドが含まれています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow OS_AUTH_URL OS_PROJECT_ID OS_PROJECT_NAME OS_DOMAIN_NAME OS_USERNAME
OS_AUTH_URL OS_PROJECT_ID OS_PROJECT_NAME OS_DOMAIN_NAME OS_USERNAME
アプリケーション認証情報の認証に必要なデータを取得するには、以下のコマンドを実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow openstack application credential create --role member --role reader --secret redhat forklift
$ openstack application credential create --role member --role reader --secret redhat forklift
ここでは
<openstack_credential_output>
と呼ばれる出力には、次のものが含まれます。-
アプリケーション認証情報 ID を使用した認証に必要な
ID
とsecret
-
アプリケーション認証情報名を使用した認証に必要な
name
とsecret
-
アプリケーション認証情報 ID を使用した認証に必要な
以下のような
Secret
マニフェストを作成します。アプリケーション認証情報 ID を使用した認証の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-appid namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: applicationcredential applicationCredentialID: <id_from_openstack_credential_output> applicationCredentialSecret: <secret_from_openstack_credential_output> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-appid namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: applicationcredential applicationCredentialID: <id_from_openstack_credential_output> applicationCredentialSecret: <secret_from_openstack_credential_output> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
アプリケーション認証情報名を使用した認証の場合:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-appname namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: applicationcredential applicationCredentialName: <name_from_openstack_credential_output> applicationCredentialSecret: <secret_from_openstack_credential_output> domainName: <OS_DOMAIN_NAME_from_openstack_rc_file> username: <OS_USERNAME_from_openstack_rc_file> url: <OS_AUTH_URL_from_openstack_rc_file> EOF
cat << EOF | oc apply -f - apiVersion: v1 kind: Secret metadata: name: openstack-secret-appname namespace: openshift-mtv labels: createdForProviderType: openstack type: Opaque stringData: authType: applicationcredential applicationCredentialName: <name_from_openstack_credential_output> applicationCredentialSecret: <secret_from_openstack_credential_output> domainName: <OS_DOMAIN_NAME_from_openstack_rc_file> username: <OS_USERNAME_from_openstack_rc_file> url: <OS_AUTH_URL_from_openstack_rc_file> EOF