[ceph-users] Re: Replacing swift with RGW

Eugen Block eblock at nde.ag
Mon Sep 6 14:44:01 UTC 2021


It's hard to tell what is wrong with your setup, I don't really use  
mine but this was the last working config I had to be able to create  
swift containers directly in RGW:

---snip---
# ceph.conf:

[client.rgw.ses6-mon1]
rgw frontends = "beast port=80"
rgw dns name = ses6-mon1.example.com
rgw enable usage log = true

rgw thread pool size = 512
rgw keystone api version = 3
rgw keystone url = http://control-node.example.com:5000

rgw keystone admin user = rgw
rgw keystone admin password = ****
rgw keystone admin domain = default
rgw keystone admin project = service
rgw keystone accepted roles = admin,Member,_member_,member
rgw keystone verify ssl = false
rgw s3 auth use keystone = true
rgw keystone revocation interval = 0


# User role (I don't think admin is required)

openstack role add --user rgw --project 9e8a67da237a4b26afb2819d2dea2219 admin


# Create keystone endpoints

openstack endpoint create --region RegionOne swift admin  
"http://ses6-mon1.example.com:80/swift/v1"
openstack endpoint create --region RegionOne swift internal  
"http://ses6-mon1.example.com:80/swift/v1"
openstack endpoint create --region RegionOne swift public  
"http://ses6-mon1.example.com:80/swift/v1"


# Create container and files

openstack container create swift1
+---------+-----------+---------------------------------------------------+
| account | container | x-trans-id                                        |
+---------+-----------+---------------------------------------------------+
| v1      | swift1    | tx000000000000000000001-0060b4ba48-d724dc-default |
+---------+-----------+---------------------------------------------------+

openstack object create --name file1 swift1 chef-client.log
+--------+-----------+----------------------------------+
| object | container | etag                             |
+--------+-----------+----------------------------------+
| file1  | swift1    | 56a1ed3b201c1e753bcbe80c640349f7 |
+--------+-----------+----------------------------------+
---snip---


You are mixing dns names and IP addresses, I can't tell if that's a  
problem but it probably should work, I'm not sure. Compared to my  
ceph.conf these are the major differences:

rgw keystone verify ssl = false
rgw s3 auth use keystone = true
rgw keystone revocation interval = 0

And I don't use rgw_keystone_token_cache_size. Maybe try again with  
the options I use.


Zitat von Michel Niyoyita <micou12 at gmail.com>:

> Hello,
>
> I am trying to replace swift by RGW as backend storage but I failed once I
> try to post a container in the OpenStack side however, all interfaces are
> configured (admin, public and internal). but Once I post from RGW host it
> is created .  Another issue is that object storage does not appear on the
> horizon dashboard .  I have deployed openstack all-in-one using
> kolla-ansible and Os is ubuntu
>
> (kolla-open1) stack at kolla-open1:~$ swift -v post myswift
> Container POST failed: http://ceph-osd3:8080/swift/v1/myswift 401
> Unauthorized   b'AccessDenied'
> Failed Transaction ID: tx000000000000000000008-006135dcbd-87d63-default
>
> (kolla-open1) stack at kolla-open1:~$ swift list
> Account GET failed: http://ceph-osd3:8080/swift/v1?format=json 401
> Unauthorized  [first 60 chars of response]
> b'{"Code":"AccessDenied","RequestId":"tx00000000000000000000c-'
> Failed Transaction ID: tx00000000000000000000c-006135de42-87d63-default
>
> Kindly help to solve the issue
>
> Michel
>
> On Thu, Sep 2, 2021 at 4:28 PM Alex Schultz <aschultz at redhat.com> wrote:
>
>> The swift docs are a bit out of date as they still reference python2
>> despite python3 being supported for some time now.  Replace python- with
>> python3- and try again.
>>
>>
>> On Thu, Sep 2, 2021 at 7:35 AM Michel Niyoyita <micou12 at gmail.com> wrote:
>>
>>>
>>>
>>> ---------- Forwarded message ---------
>>> From: Michel Niyoyita <micou12 at gmail.com>
>>> Date: Thu, Sep 2, 2021 at 12:17 PM
>>> Subject: Fwd: [ceph-users] Re: Replacing swift with RGW
>>> To: <openstack-discuss at lists.openstack.org>
>>>
>>>
>>>
>>>
>>> ---------- Forwarded message ---------
>>> From: Eugen Block <eblock at nde.ag>
>>> Date: Thu, Sep 2, 2021 at 10:39 AM
>>> Subject: Re: [ceph-users] Re: Replacing swift with RGW
>>> To: Michel Niyoyita <micou12 at gmail.com>
>>>
>>>
>>> You should continue this thread on the openstack-discuss mailing list
>>> (openstack-discuss at lists.openstack.org) since this is not a ceph issue.
>>> I'm not familiar with kolla and I don't know the requirements to
>>> install openstack-swift, you'll need to ask the openstack community.
>>>
>>>
>>> Zitat von Michel Niyoyita <micou12 at gmail.com>:
>>>
>>> > Below are errors I am getting once I try to run swift commands . the
>>> second
>>> > one is the error I get once try to install python-swiftclient
>>> >
>>> > (kolla-open) [stack at kolla-open ~]$ swift -v stat
>>> > -bash: swift: command not found
>>> > (kolla-open) [stack at kolla-open ~]$ sudo yum -y install
>>> python-swiftclient
>>> > Last metadata expiration check: 0:59:21 ago on Thu 02 Sep 2021 09:21:53
>>> AM
>>> > CAT.
>>> > No match for argument: python-swiftclient
>>> > Error: Unable to find a match: python-swiftclient
>>> > (kolla-open) [stack at kolla-open ~]$
>>> >
>>> > Waiting for your help
>>> >
>>> > On Thu, Sep 2, 2021 at 10:17 AM Eugen Block <eblock at nde.ag> wrote:
>>> >
>>> >> I can't tell for sure, but yes, I believe you need the openstack-swift
>>> >> package (with dependencies). What errors do you get? The more
>>> >> information you share the better people can help.
>>> >>
>>> >>
>>> >> Zitat von Michel Niyoyita <micou12 at gmail.com>:
>>> >>
>>> >> > I tried to install  "sudo yum -y install python-swiftclient" on
>>> openstack
>>> >> > side but fails . are there openastack-shwift packages which are
>>> needed?
>>> >> > if are there please help me to get .  may be also it is the cause I
>>> am
>>> >> > failing to run swift command on openstack cli side.
>>> >> >
>>> >> > thank you for your continued support.
>>> >> >
>>> >> > Micheal
>>> >> >
>>> >> > On Thu, Sep 2, 2021 at 9:14 AM Eugen Block <eblock at nde.ag> wrote:
>>> >> >
>>> >> >> I only configured the endpoints for the clients to directly access
>>> the
>>> >> >> RGWs, but you'll probably need to install the openstack-swift
>>> package.
>>> >> >> Or have you done that already?
>>> >> >>
>>> >> >>
>>> >> >> Zitat von Michel Niyoyita <micou12 at gmail.com>:
>>> >> >>
>>> >> >> > Thank  you Eugen for your prompt response.
>>> >> >> >
>>> >> >> > Now the commands provided work. but I am not finding the object
>>> >> storage
>>> >> >> on
>>> >> >> > the horizon dashboard , but it appears in the system information
>>> >> >> services.
>>> >> >> > [image: image.png]
>>> >> >> > so my question is how to configure it in order that it can appear
>>> in
>>> >> the
>>> >> >> > dashboard .
>>> >> >> >
>>> >> >> > Michel
>>> >> >> >
>>> >> >> > On Wed, Sep 1, 2021 at 3:49 PM Eugen Block <eblock at nde.ag> wrote:
>>> >> >> >
>>> >> >> >> Sorry, one little detail slipped through, the '--region' flag
>>> has to
>>> >> >> >> be put before the 'service' name. The correct command would be:
>>> >> >> >>
>>> >> >> >> openstack endpoint create --region RegionOne swift admin
>>> >> >> >> http://ceph-osd3:8080/swift/v1
>>> >> >> >>
>>> >> >> >> and respectively for the other interfaces.
>>> >> >> >>
>>> >> >> >>
>>> >> >> >> Zitat von Eugen Block <eblock at nde.ag>:
>>> >> >> >>
>>> >> >> >> > Hi,
>>> >> >> >> >
>>> >> >> >> > this is not a ceph issue but your openstack cli command as the
>>> >> error
>>> >> >> >> > message states.
>>> >> >> >> >
>>> >> >> >> > Try one interface at a time:
>>> >> >> >> >
>>> >> >> >> > openstack endpoint create swift public
>>> >> >> >> > http://ceph-osd3:8080/swift/v1 --region RegionOne swift
>>> >> >> >> > openstack endpoint create swift admin
>>> >> http://ceph-osd3:8080/swift/v1
>>> >> >> >> > --region RegionOne swift
>>> >> >> >> > openstack endpoint create swift internal
>>> >> >> >> > http://ceph-osd3:8080/swift/v1 --region RegionOne swift
>>> >> >> >> >
>>> >> >> >> >
>>> >> >> >> > Zitat von Michel Niyoyita <micou12 at gmail.com>:
>>> >> >> >> >
>>> >> >> >> >> Hello ,
>>> >> >> >> >>
>>> >> >> >> >> Below are errors I am getting once I am trying to integrate
>>> swift
>>> >> >> with
>>> >> >> >> >> Radosgateway.
>>> >> >> >> >>
>>> >> >> >> >> From openstack side once i try to endpoint which will point
>>> to the
>>> >> >> >> >> radosgateway :
>>> >> >> >> >>
>>> >> >> >> >> (kolla-open) [stack at kolla-open kolla]$ openstack endpoint
>>> create
>>> >> >> >> >> --publicurl http://ceph-osd3:8080/swift/v1 --adminurl
>>> >> >> >> >> http://ceph-osd3:8080/swift/v1 --internal
>>> >> >> >> http://ceph-osd3:8080/swift/v1
>>> >> >> >> >> --region RegionOne swift
>>> >> >> >> >> usage: openstack endpoint create [-h] [-f
>>> >> >> {json,shell,table,value,yaml}]
>>> >> >> >> >>                                 [-c COLUMN] [--noindent]
>>> [--prefix
>>> >> >> >> PREFIX]
>>> >> >> >> >>                                 [--max-width <integer>]
>>> >> [--fit-width]
>>> >> >> >> >>                                 [--print-empty] [--region
>>> >> >> <region-id>]
>>> >> >> >> >>                                 [--enable | --disable]
>>> >> >> >> >>                                 <service> <interface> <url>
>>> >> >> >> >> openstack endpoint create: error: argument <interface>:
>>> invalid
>>> >> >> choice:
>>> >> >> >> '
>>> >> >> >> >> http://ceph-osd3:8080/swift/v1' (choose from 'admin',
>>> 'public',
>>> >> >> >> 'internal')
>>> >> >> >> >>
>>> >> >> >> >> (kolla-open) [stack at kolla-open kolla]$
>>> >> >> >> >>
>>> >> >> >> >> below are my /etc/ceph/ceph.conf file :
>>> >> >> >> >>
>>> >> >> >> >> [client.rgw.ceph-osd3]
>>> >> >> >> >> rgw_dns_name = ceph-osd3
>>> >> >> >> >> host = ceph-osd3
>>> >> >> >> >> keyring = /var/lib/ceph/radosgw/ceph-rgw.ceph-osd3/keyring
>>> >> >> >> >> log file = /var/log/ceph/ceph-rgw-ceph-osd3.log
>>> >> >> >> >> rgw frontends = civetweb port=10.10.29.110:8080
>>> num_threads=100
>>> >> >> >> >> rgw_keystone_url=http://10.10.29.150:35357
>>> >> >> >> >> rgw_keystone_admin_user=admin
>>> >> >> >> >> rgw_keystone_admin_password=admin
>>> >> >> >> >> rgw_keystone_admin_tenant=admin
>>> >> >> >> >> rgw_keystone_accepted_role=admin Member swiftoperator
>>> >> >> >> >> rgw_keystone_token_cache_size=200
>>> >> >> >> >> rgw_keystone_revocation_interval=300
>>> >> >> >> >>
>>> >> >> >> >> [client.rgw.ceph-osd3.rgw0]
>>> >> >> >> >> host = ceph-osd3
>>> >> >> >> >> keyring =
>>> /var/lib/ceph/radosgw/ceph-rgw.ceph-osd3.rgw0/keyring
>>> >> >> >> >> log file = /var/log/ceph/ceph-rgw-ceph-osd3.rgw0.log
>>> >> >> >> >> rgw frontends = beast endpoint=10.10.29.110:8080
>>> >> >> >> >> rgw thread pool size = 512
>>> >> >> >> >>
>>> >> >> >> >> please note that my rgw_dns_name = ceph_osd3 with
>>> 10.10.29.110 as
>>> >> IP
>>> >> >> >> >>
>>> >> >> >> >> and 10.10.29.150 all-in-one IP
>>> >> >> >> >>
>>> >> >> >> >>
>>> >> >> >> >> Please crosscheck where I might make mistake and try to
>>> correct.
>>> >> >> >> >>
>>> >> >> >> >> Best regards
>>> >> >> >> >>
>>> >> >> >> >> Michel
>>> >> >> >> >>
>>> >> >> >> >> On Mon, Aug 30, 2021 at 11:25 AM Etienne Menguy <
>>> >> >> >> etienne.menguy at croit.io>
>>> >> >> >> >> wrote:
>>> >> >> >> >>
>>> >> >> >> >>> Hi,
>>> >> >> >> >>>
>>> >> >> >> >>> There are some information on Ceph documentation
>>> >> >> >> >>> https://docs.ceph.com/en/latest/radosgw/keystone/ <
>>> >> >> >> >>> https://docs.ceph.com/en/latest/radosgw/keystone/> .
>>> >> >> >> >>> - Use keystone as auth for RGW
>>> >> >> >> >>> - Create service and register your RGW as swift
>>> >> >> >> >>>
>>> >> >> >> >>> √Čtienne
>>> >> >> >> >>>
>>> >> >> >> >>>> On 27 Aug 2021, at 15:47, Michel Niyoyita <
>>> micou12 at gmail.com>
>>> >> >> wrote:
>>> >> >> >> >>>>
>>> >> >> >> >>>> Hello ,
>>> >> >> >> >>>>
>>> >> >> >> >>>> I have configured RGW in my ceph cluster deployed using ceph
>>> >> >> ansible
>>> >> >> >> and
>>> >> >> >> >>>> create sub user to access the created containers and would
>>> like
>>> >> to
>>> >> >> >> >>> replace
>>> >> >> >> >>>> swift by RGW in the openstack side. Anyone can help on
>>> >> >> configuration
>>> >> >> >> to
>>> >> >> >> >>> be
>>> >> >> >> >>>> done in the OpenStack side in order to integrate those
>>> >> services. I
>>> >> >> >> have
>>> >> >> >> >>>> deployed OpenStack wallaby using Kolla-ansible on ubuntu
>>> 20.04.
>>> >> and
>>> >> >> >> ceph
>>> >> >> >> >>>> pacific 16.2.5 was deployed using ansible on ubuntu 20.04
>>> >> >> >> >>>>
>>> >> >> >> >>>> Kindly help for the configuration or documentation.
>>> >> >> >> >>>>
>>> >> >> >> >>>> Best Regards
>>> >> >> >> >>>>
>>> >> >> >> >>>> Michel
>>> >> >> >> >>>> _______________________________________________
>>> >> >> >> >>>> ceph-users mailing list -- ceph-users at ceph.io
>>> >> >> >> >>>> To unsubscribe send an email to ceph-users-leave at ceph.io
>>> >> >> >> >>>
>>> >> >> >> >>> _______________________________________________
>>> >> >> >> >>> ceph-users mailing list -- ceph-users at ceph.io
>>> >> >> >> >>> To unsubscribe send an email to ceph-users-leave at ceph.io
>>> >> >> >> >>>
>>> >> >> >> >> _______________________________________________
>>> >> >> >> >> ceph-users mailing list -- ceph-users at ceph.io
>>> >> >> >> >> To unsubscribe send an email to ceph-users-leave at ceph.io
>>> >> >> >>
>>> >> >> >>
>>> >> >> >>
>>> >> >> >> _______________________________________________
>>> >> >> >> ceph-users mailing list -- ceph-users at ceph.io
>>> >> >> >> To unsubscribe send an email to ceph-users-leave at ceph.io
>>> >> >> >>
>>> >> >>
>>> >> >>
>>> >> >>
>>> >> >>
>>> >>
>>> >>
>>> >>
>>> >>
>>>
>>>
>>>
>>>






More information about the openstack-discuss mailing list