« Scale 5.0.4.3にS3 Objectノードをインストールする | トップページ | Spectrum Scale - OpenStackへの扉 その2 »

2020年4月 3日 (金)

Spectrum Scale - OpenStackへの扉 その1

OpenStackでユーザーを作成する

Spectrum ScaleでObjectを扱うことを目指すと、OpenStackの扉を開けなければならない。まったくの未知の世界。

Projectってなんだ?
どうやらユーザーグループのことを差すらしい。
以下docs.openstack.orgより転記
OpenStack ユーザーインターフェースとドキュメントでは、ユーザーのグループは プロジェクト または テナント と呼ばれます。これらの用語は同義です。OpenStack Compute の初期実装は独自の認証システムを持ち、プロジェクト という用語を使用していました。認証が OpenStack Identity (Keystone) プロジェクトに移行したとき、ユーザーのグループを参照するために``テナント``という用語が使用されました。このような経緯のため、いくつかの OpenStack ツールはプロジェクトを使用し、いくつかはテナントを使用します。

S3で使用するユーザーをOpenStack上に追加したい。さてどうする。
以下、実際にやったこと。

/var/mmfs/ccrへ移動する。
[root@localhost ccr]# ls
cached ccr.noauth ccr.nodes committed
[root@localhost ccr]# ls -l
合計 8
drwxr-xr-x 2 root root 23 4月 1 13:41 cached
-rw-r--r-- 1 root root 4 4月 1 13:41 ccr.noauth
-rw-r--r-- 1 root root 52 4月 1 13:41 ccr.nodes
drwxr-xr-x 2 root root 6 4月 1 13:41 committed

mmccr fgetにてopenrcをローカル(2つ目のoenrc)に取得する。
[root@localhost ccr]# mmccr fget openrc openrc
fget:1
[root@localhost ccr]#

中身はこんな感じ。
[root@localhost ccr]# cat openrc
# 2020年 4月 1日 水曜日 17:46:46 JST
export OS_AUTH_URL="http://127.0.0.1:35357/v3"
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_VERSION=3
export OS_USERNAME='admin'
export OS_PASSWORD='passw0rd'
export OS_USER_DOMAIN_NAME='Default'
export OS_PROJECT_NAME=admin
export OS_PROJECT_DOMAIN_NAME=Default

#export OS_REGION_NAME="RegionOne"
[root@localhost ccr]#

この認証情報をopenstackコマンド実行に先立ってsourceコマンドで設定する。以後のopenstackコマンドはこの認証情報を使って実行される。
[root@localhost ccr]# source openrc
[root@s3group1 ccr]# openstack user list
+----------------------------------+-------+
| ID | Name |
+----------------------------------+-------+
| 894f7164282e4e45863f9a4fd5109fdb | admin |
| 77d095f60bce4bf59600d8167157429a | swift |
+----------------------------------+-------+

新しいユーザーとしてuser1を作成する。
[root@s3group1 ccr]# openstack user create user1 --password passw0rd
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| domain_id | default |
| enabled | True |
| id | 46c2a1e3bbcc418797d85f78725e5881 |
| name | user1 |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+

ユーザー登録されたことを確認。
[root@s3group1 ccr]# openstack user list
+----------------------------------+-------+
| ID | Name |
+----------------------------------+-------+
| 894f7164282e4e45863f9a4fd5109fdb | admin |
| 77d095f60bce4bf59600d8167157429a | swift |
| 46c2a1e3bbcc418797d85f78725e5881 | user1 |
+----------------------------------+-------+
[root@s3group1 ccr]#

このユーザーのProject(いわゆるユーザーグループ)を指定する。ここでは既存のProjectを指定する。で、リストすると。。。
[root@s3group1 ccr]# openstack project list
+----------------------------------+---------+
| ID | Name |
+----------------------------------+---------+
| d297b07b7ef044b3b8c89a2071cdb491 | admin |
| b8f1a4a6c40d4e90bfc7a57ed09674bf | service |
+----------------------------------+---------+
[root@s3group1 ccr]#

Projectとしてserviceを指定することにする。で、user1用の認証情報ファイルを編集する。このファイルの元は上記で取得したopenrc。変更するのはUSERNAMEとPROJECT_NAME、PASSWORDはそのままにしている。
[root@s3group1 ccr]# vi openrc_user1
# 2020年 4月 1日 水曜日 17:46:46 JST
export OS_AUTH_URL="http://127.0.0.1:35357/v3"
export OS_IDENTITY_API_VERSION=3
export OS_AUTH_VERSION=3
export OS_USERNAME='user1'
export OS_PASSWORD='passw0rd'
export OS_USER_DOMAIN_NAME='Default'
export OS_PROJECT_NAME=service 
export OS_PROJECT_DOMAIN_NAME=Default

#export OS_REGION_NAME="RegionOne"

この認証情報ファイルのsourceコマンドで設定する。
[root@s3group1 ccr]# source openrc_user1

user1でopenstackコマンドが実行できることを確認する。
[root@s3group1 ccr]# openstack user list
+----------------------------------+-------+
| ID | Name |
+----------------------------------+-------+
| 894f7164282e4e45863f9a4fd5109fdb | admin |
| 77d095f60bce4bf59600d8167157429a | swift |
| 46c2a1e3bbcc418797d85f78725e5881 | user1 |
+----------------------------------+-------+
[root@s3group1 ccr]#

以下追記:

なぜだかSpectrum Scale Knowledge Centerのコマンドリストにmmccrが無い。
以下のSpectrum Scale Admin Guide によるとmmccrコマンドをfgetプションで使うとCCRに保存されている構成情報ファイルをローカルに読み出せるらしい。
12.
Save the restored CCR copy of the keystone.conf to the local location using a command similar to 
mmccr fget keystone.conf /etc/keystone/keystone.conf
Also, update the owner and the group ofthis file using the following command: chown keystone:keystone /etc/keystone/keystone.conf.

sourceコマンドの使い方 参考リンク

以下を叩くと opestackでコマンド実行する場合の認証情報を持ったファイル(opencr)をローカルに取得できる。
# mmccr fget openrc /root/work/openrc
以下をopenstackコマンド実行に先立って叩くことで、それ以降のOpenstackコマンド実行時の認証にこの認証情報が使用される。
# source /root/work/openrc



Keystoneでのユーザー管理方法 IBM KCより


Configuring Keystone administration





  1. Create or select a Keystone project for REST services. You can create a project or use an
    existing project such as the "service" project.
    To create a new project, enter the following
    command:
    openstack project create project_nameコピー
    where
    project_name is the name of the new project.
  2. Create or select a user that other users can communicate with for token validation. If you
    create a new user, specify a password for it.
    Enter a command like the following one to create a
    user:
    openstack user create user_name --password passwordコピー
    where
    user_name is the user and
    password is the password.
  3. Assign the user an administration role within the project. Enter a command like the following
    one:
    openstack role add --user user_name --project project adminコピー
    where
    user_name is the user and
    project is the project.
Configuring the Keystone administration is complete.

 

« Scale 5.0.4.3にS3 Objectノードをインストールする | トップページ | Spectrum Scale - OpenStackへの扉 その2 »

ソフトウエア導入」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« Scale 5.0.4.3にS3 Objectノードをインストールする | トップページ | Spectrum Scale - OpenStackへの扉 その2 »