Академический Документы
Профессиональный Документы
Культура Документы
2017/09/03
Volet 11
2
2
3
[root@dlp ~(keystone)]#
openstack project create --domain default --description "Swift Service Project" swiftservice
+-------------+----------------------------------+
| Field | Value |
+-------------+----------------------------------+
| description | Swift Service Project |
| domain_id | default |
| enabled | True |
| id | 75f5fb876f8a47c983477872cbd8530c |
| is_domain | False |
| name | swiftservice |
| parent_id | default |
+-------------+----------------------------------+
[root@dlp ~(keystone)]#
openstack role create SwiftOperator
+-----------+----------------------------------+
| Field | Value |
+-----------+----------------------------------+
| domain_id | None |
| id | e45f9c345d5547a192ce22e5a7f983eb |
| name | SwiftOperator |
+-----------+----------------------------------+
# add a user
[root@dlp ~(keystone)]#
openstack user create --domain default --project swiftservice --password userpassword
swiftuser01
+---------------------+----------------------------------+
| Field | Value |
+---------------------+----------------------------------+
| default_project_id | 75f5fb876f8a47c983477872cbd8530c |
| domain_id | default |
| enabled | True |
| id | bc43635e1d074a81b4184806e7e0c6e7 |
| name | swiftuser01 |
| options | {} |
| password_expires_at | None |
+---------------------+----------------------------------+
[root@dlp ~(keystone)]#
openstack role add --project swiftservice --user swiftuser01 SwiftOperator
3
4
[root@client ~]#
yum --enablerepo=centos-openstack-pike,epel -y install python-openstackclient python-
keystoneclient python-swiftclient
[3] Load environment variables first. ( it's just the value for a user added in [1] )
[root@client ~]#
vi ~/keystonerc_swift
export OS_PROJECT_DOMAIN_NAME=default
export OS_USER_DOMAIN_NAME=default
export OS_PROJECT_NAME=swiftservice
export OS_USERNAME=swiftuser01
export OS_PASSWORD=userpassword
export OS_AUTH_URL=http://10.0.0.30:35357/v3
export OS_IDENTITY_API_VERSION=3
export PS1='[\u@\h \W(swift)]\$ '
[root@client ~]#
chmod 600 ~/keystonerc_swift
[root@client ~]#
source ~/keystonerc_swift
[root@client ~(swift)]#
echo "source ~/keystonerc_swift " >> ~/.bash_profile
# show status
[root@client ~(swift)]#
swift stat
Account: AUTH_75f5fb876f8a47c983477872cbd8530c
Containers: 0
Objects: 0
Bytes: 0
X-Put-Timestamp: 1504835074.04765
X-Timestamp: 1504835074.04765
X-Trans-Id: tx40971e615efe4e05b4239-0059b1f601
Content-Type: text/plain; charset=utf-8
X-Openstack-Request-Id: tx40971e615efe4e05b4239-0059b1f601
[4] Create a Container for saving files.
[root@client ~(swift)]#
openstack container create test_container
+---------------------------------------+----------------+--------------------------
----------+
4
5
[root@client ~(swift)]#
openstack container list
+----------------+
| Name |
+----------------+
| test_container |
+----------------+
[5] Upload a file on local to the Container.
# upload test.txt
[root@client ~(swift)]#
openstack object create test_container test.txt
+----------+----------------+----------------------------------+
| object | container | etag |
+----------+----------------+----------------------------------+
| test.txt | test_container | 7b6dd74076b42304affd73518caeda9a |
+----------+----------------+----------------------------------+
[root@client ~(swift)]#
openstack object list test_container
+----------+
| Name |
+----------+
| test.txt |
+----------+
[6] Download a file from Swift Storage to local.
# remove local file
[root@client ~(swift)]#
rm test.txt
[root@client ~(swift)]#
openstack object save test_container test.txt
[root@client ~(swift)]#
ll
total 36
5
6
[root@client ~(swift)]#
openstack object list test_container
# test.txt is deleted
[root@client ~(swift)]#
openstack container list
# test_container is deleted