* (unknown),
@ 2012-10-23 4:12 jie sun
2012-10-23 11:50 ` Wido den Hollander
0 siblings, 1 reply; 20+ messages in thread
From: jie sun @ 2012-10-23 4:12 UTC (permalink / raw)
To: ceph-devel
Hi,
I created and mounted a rbd for a virtual machine. And it can be used
as a block device normally, but often prompt some log like below:
"Oct 23 10:30:22 ubuntu12 kernel: [321506.941606] libceph: osd3
10.100.211.146:6810 socket closed
Oct 23 10:30:59 ubuntu12 kernel: [321544.337856] libceph: osd9
10.100.211.68:6809 socket closed
Oct 23 10:45:22 ubuntu12 kernel: [322407.233090] libceph: osd3
10.100.211.146:6810 socket closed
Oct 23 10:45:59 ubuntu12 kernel: [322444.766796] libceph: osd9
10.100.211.68:6809 socket closed
Oct 23 11:00:22 ubuntu12 kernel: [323307.529098] libceph: osd3
10.100.211.146:6810 socket closed
Oct 23 11:01:00 ubuntu12 kernel: [323345.241679] libceph: osd9
10.100.211.68:6809 socket closed
Oct 23 11:15:22 ubuntu12 kernel: [324207.821113] libceph: osd3
10.100.211.146:6810 socket closed
Oct 23 11:16:00 ubuntu12 kernel: [324245.717747] libceph: osd9
10.100.211.68:6809 socket closed
Oct 23 11:17:01 ubuntu12 CRON[10529]: (root) CMD ( cd / && run-parts
--report /etc/cron.hourly)
Oct 23 11:30:23 ubuntu12 kernel: [325108.117134] libceph: osd3
10.100.211.146:6810 socket closed"
These log also can be found in "/var/log/syslog".
I google something about this problem,but didn't understand what
you've wrote in "http://tracker.newdream.net/issues/2260" exactly.
How can I resolve this problem? My ceph version is 0.48.
Should I change some files, or modify some content of some file?
Thank you !
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re:
2012-10-23 4:12 (unknown), jie sun
@ 2012-10-23 11:50 ` Wido den Hollander
2012-10-24 5:48 ` Re: jie sun
0 siblings, 1 reply; 20+ messages in thread
From: Wido den Hollander @ 2012-10-23 11:50 UTC (permalink / raw)
To: jie sun; +Cc: ceph-devel
On 10/23/2012 06:12 AM, jie sun wrote:
> Hi,
>
> I created and mounted a rbd for a virtual machine. And it can be used
> as a block device normally, but often prompt some log like below:
Could you provide us a bit more information?
What kernel are you using?
What does "ceph -s" show you?
Are you running KVM virtual machines and connecting /dev/rbd0 as a
device to the virtual machine?
Wido
> "Oct 23 10:30:22 ubuntu12 kernel: [321506.941606] libceph: osd3
> 10.100.211.146:6810 socket closed
> Oct 23 10:30:59 ubuntu12 kernel: [321544.337856] libceph: osd9
> 10.100.211.68:6809 socket closed
> Oct 23 10:45:22 ubuntu12 kernel: [322407.233090] libceph: osd3
> 10.100.211.146:6810 socket closed
> Oct 23 10:45:59 ubuntu12 kernel: [322444.766796] libceph: osd9
> 10.100.211.68:6809 socket closed
> Oct 23 11:00:22 ubuntu12 kernel: [323307.529098] libceph: osd3
> 10.100.211.146:6810 socket closed
> Oct 23 11:01:00 ubuntu12 kernel: [323345.241679] libceph: osd9
> 10.100.211.68:6809 socket closed
> Oct 23 11:15:22 ubuntu12 kernel: [324207.821113] libceph: osd3
> 10.100.211.146:6810 socket closed
> Oct 23 11:16:00 ubuntu12 kernel: [324245.717747] libceph: osd9
> 10.100.211.68:6809 socket closed
> Oct 23 11:17:01 ubuntu12 CRON[10529]: (root) CMD ( cd / && run-parts
> --report /etc/cron.hourly)
> Oct 23 11:30:23 ubuntu12 kernel: [325108.117134] libceph: osd3
> 10.100.211.146:6810 socket closed"
>
> These log also can be found in "/var/log/syslog".
> I google something about this problem,but didn't understand what
> you've wrote in "http://tracker.newdream.net/issues/2260" exactly.
> How can I resolve this problem? My ceph version is 0.48.
> Should I change some files, or modify some content of some file?
>
> Thank you !
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re:
2012-10-23 11:50 ` Wido den Hollander
@ 2012-10-24 5:48 ` jie sun
2012-10-24 5:58 ` Re: Gregory Farnum
0 siblings, 1 reply; 20+ messages in thread
From: jie sun @ 2012-10-24 5:48 UTC (permalink / raw)
To: Wido den Hollander; +Cc: ceph-devel
My vm kernel version is "Linux ubuntu12 3.2.0-23-generic".
"ceph-s" shows
" health HEALTH_OK
monmap e1: 1 mons at {a=10.100.211.146:6789/0}, election epoch 0, quorum 0 a
osdmap e152: 10 osds: 9 up, 9 in
pgmap v48479: 2112 pgs: 2112 active+clean; 23161 MB data, 46323 MB
used, 2451 GB / 2514 GB avail
mdsmap e31: 1/1/1 up {0=a=up:active} "
In my vm, I do operations like:
I install 4 debs on my vm, such as libnss3, libnspr4, librados2,
librbd1. And then execute "modprobe rbd" so that I can map a image to
my vm.
Then "rbd create foo --size 10240 -m $monIP(my ceph mon IP)",
"rbd map foo -m $monIP" ------ Here a device /dev/rbd0 can be
used as a local device
"mkfs -t ext4 /dev/rbd0"
"mount /dev/rbd0 /mnt(or some other directory)"
After the operations above, I can use this device. But it oftern
prompt some log like "libceph: osd9 10.100.211.68:6809 socket closed".
I just want to mount a device to my vm, so I didn't install a ceph
client. Is this proper to do so?
Thank you for youer answer!
2012/10/23 Wido den Hollander <wido@widodh.nl>:
> On 10/23/2012 06:12 AM, jie sun wrote:
>>
>> Hi,
>>
>> I created and mounted a rbd for a virtual machine. And it can be used
>> as a block device normally, but often prompt some log like below:
>
>
> Could you provide us a bit more information?
>
> What kernel are you using?
>
> What does "ceph -s" show you?
>
> Are you running KVM virtual machines and connecting /dev/rbd0 as a device to
> the virtual machine?
>
> Wido
>
>> "Oct 23 10:30:22 ubuntu12 kernel: [321506.941606] libceph: osd3
>> 10.100.211.146:6810 socket closed
>> Oct 23 10:30:59 ubuntu12 kernel: [321544.337856] libceph: osd9
>> 10.100.211.68:6809 socket closed
>> Oct 23 10:45:22 ubuntu12 kernel: [322407.233090] libceph: osd3
>> 10.100.211.146:6810 socket closed
>> Oct 23 10:45:59 ubuntu12 kernel: [322444.766796] libceph: osd9
>> 10.100.211.68:6809 socket closed
>> Oct 23 11:00:22 ubuntu12 kernel: [323307.529098] libceph: osd3
>> 10.100.211.146:6810 socket closed
>> Oct 23 11:01:00 ubuntu12 kernel: [323345.241679] libceph: osd9
>> 10.100.211.68:6809 socket closed
>> Oct 23 11:15:22 ubuntu12 kernel: [324207.821113] libceph: osd3
>> 10.100.211.146:6810 socket closed
>> Oct 23 11:16:00 ubuntu12 kernel: [324245.717747] libceph: osd9
>> 10.100.211.68:6809 socket closed
>> Oct 23 11:17:01 ubuntu12 CRON[10529]: (root) CMD ( cd / && run-parts
>> --report /etc/cron.hourly)
>> Oct 23 11:30:23 ubuntu12 kernel: [325108.117134] libceph: osd3
>> 10.100.211.146:6810 socket closed"
>>
>> These log also can be found in "/var/log/syslog".
>> I google something about this problem,but didn't understand what
>> you've wrote in "http://tracker.newdream.net/issues/2260" exactly.
>> How can I resolve this problem? My ceph version is 0.48.
>> Should I change some files, or modify some content of some file?
>>
>> Thank you !
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>
^ permalink raw reply [flat|nested] 20+ messages in thread* Re:
2012-10-24 5:48 ` Re: jie sun
@ 2012-10-24 5:58 ` Gregory Farnum
[not found] ` <CAB6Jr7SbbAE=yEVgg+UupTmavKfvFvGj8j7C9M0Ya2FocNmw9w@mail.gmail.com>
0 siblings, 1 reply; 20+ messages in thread
From: Gregory Farnum @ 2012-10-24 5:58 UTC (permalink / raw)
To: jie sun; +Cc: Wido den Hollander, ceph-devel
On Tuesday, October 23, 2012 at 10:48 PM, jie sun wrote:
> My vm kernel version is "Linux ubuntu12 3.2.0-23-generic".
>
> "ceph-s" shows
> " health HEALTH_OK
> monmap e1: 1 mons at {a=10.100.211.146:6789/0}, election epoch 0, quorum 0 a
> osdmap e152: 10 osds: 9 up, 9 in
> pgmap v48479: 2112 pgs: 2112 active+clean; 23161 MB data, 46323 MB
> used, 2451 GB / 2514 GB avail
> mdsmap e31: 1/1/1 up {0=a=up:active} "
>
> In my vm, I do operations like:
> I install 4 debs on my vm, such as libnss3, libnspr4, librados2,
> librbd1. And then execute "modprobe rbd" so that I can map a image to
> my vm.
> Then "rbd create foo --size 10240 -m $monIP(my ceph mon IP)",
> "rbd map foo -m $monIP" ------ Here a device /dev/rbd0 can be
> used as a local device
> "mkfs -t ext4 /dev/rbd0"
> "mount /dev/rbd0 /mnt(or some other directory)"
> After the operations above, I can use this device. But it oftern
> prompt some log like "libceph: osd9 10.100.211.68:6809 socket closed".
> I just want to mount a device to my vm, so I didn't install a ceph
> client. Is this proper to do so?
You might consider using the native QEMU/libvirt instead; it offers some more advanced options. But if you're happy with it, this certainly works!
The "socket closed" messages are just noise; it's nothing to be concerned about (you'll notice they're happening every 15 minutes for each OSD; probably you aren't doing any disk accesses). I think these warnings actually got removed from our master branch a few days ago.
-Greg
^ permalink raw reply [flat|nested] 20+ messages in thread
* (unknown)
@ 2020-03-27 9:20 chenanqing
[not found] ` <5e7dc543.vYG3wru8B/me1sOV%chenanqing-Oq79sGaMObY@public.gmane.org>
0 siblings, 1 reply; 20+ messages in thread
From: chenanqing @ 2020-03-27 9:20 UTC (permalink / raw)
To: chenanqing, linux-kernel, linux-scsi, open-iscsi, ceph-devel,
martin.petersen, jejb, cleech, lduncan
From: Chen Anqing <chenanqing@oppo.com>
To: Lee Duncan <lduncan@suse.com>
Cc: Chris Leech <cleech@redhat.com>,
"James E . J . Bottomley" <jejb@linux.ibm.com>,
"Martin K . Petersen" <martin.petersen@oracle.com>,
ceph-devel@vger.kernel.org,
open-iscsi@googlegroups.com,
linux-scsi@vger.kernel.org,
linux-kernel@vger.kernel.org,
chenanqing@oppo.com
Subject: [PATCH] scsi: libiscsi: we should take compound page into account also
Date: Fri, 27 Mar 2020 05:20:01 -0400
Message-Id: <20200327092001.56879-1-chenanqing@oppo.com>
X-Mailer: git-send-email 2.18.2
the patch is occur at a real crash,which slab is
come from a compound page,so we need take the compound page
into account also.
fixed commit 08b11eaccfcf ("scsi: libiscsi: fall back to
sendmsg for slab pages").
Signed-off-by: Chen Anqing <chenanqing@oppo.com>
---
drivers/scsi/libiscsi_tcp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/libiscsi_tcp.c b/drivers/scsi/libiscsi_tcp.c
index 6ef93c7af954..98304e5e1f6f 100644
--- a/drivers/scsi/libiscsi_tcp.c
+++ b/drivers/scsi/libiscsi_tcp.c
@@ -128,7 +128,8 @@ static void iscsi_tcp_segment_map(struct iscsi_segment *segment, int recv)
* coalescing neighboring slab objects into a single frag which
* triggers one of hardened usercopy checks.
*/
- if (!recv && page_count(sg_page(sg)) >= 1 && !PageSlab(sg_page(sg)))
+ if (!recv && page_count(sg_page(sg)) >= 1 &&
+ !PageSlab(compound_head(sg_page(sg))))
return;
if (recv) {
--
2.18.2
________________________________
OPPO
本电子邮件及其附件含有OPPO公司的保密信息,仅限于邮件指明的收件人使用(包含个人及群组)。禁止任何人在未经授权的情况下以任何形式使用。如果您错收了本邮件,请立即以电子邮件通知发件人并删除本邮件及其附件。
This e-mail and its attachments contain confidential information from OPPO, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!
^ permalink raw reply related [flat|nested] 20+ messages in thread* (unknown)
@ 2020-03-27 8:36 chenanqing
2020-03-27 8:59 ` Ilya Dryomov
0 siblings, 1 reply; 20+ messages in thread
From: chenanqing @ 2020-03-27 8:36 UTC (permalink / raw)
To: chenanqing, linux-kernel, netdev, ceph-devel, kuba, sage, jlayton,
idryomov
From: Chen Anqing <chenanqing@oppo.com>
To: Ilya Dryomov <idryomov@gmail.com>
Cc: Jeff Layton <jlayton@kernel.org>,
Sage Weil <sage@redhat.com>,
Jakub Kicinski <kuba@kernel.org>,
ceph-devel@vger.kernel.org,
netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
chenanqing@oppo.com
Subject: [PATCH] libceph: we should take compound page into account also
Date: Fri, 27 Mar 2020 04:36:30 -0400
Message-Id: <20200327083630.36296-1-chenanqing@oppo.com>
X-Mailer: git-send-email 2.18.2
the patch is occur at a real crash,which slab is
come from a compound page,so we need take the compound page
into account also.
fixed commit 7e241f647dc7 ("libceph: fall back to sendmsg for slab pages")'
Signed-off-by: Chen Anqing <chenanqing@oppo.com>
---
net/ceph/messenger.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
index f8ca5edc5f2c..e08c1c334cd9 100644
--- a/net/ceph/messenger.c
+++ b/net/ceph/messenger.c
@@ -582,7 +582,7 @@ static int ceph_tcp_sendpage(struct socket *sock, struct page *page,
* coalescing neighboring slab objects into a single frag which
* triggers one of hardened usercopy checks.
*/
- if (page_count(page) >= 1 && !PageSlab(page))
+ if (page_count(page) >= 1 && !PageSlab(compound_head(page)))
sendpage = sock->ops->sendpage;
else
sendpage = sock_no_sendpage;
--
2.18.2
________________________________
OPPO
本电子邮件及其附件含有OPPO公司的保密信息,仅限于邮件指明的收件人使用(包含个人及群组)。禁止任何人在未经授权的情况下以任何形式使用。如果您错收了本邮件,请立即以电子邮件通知发件人并删除本邮件及其附件。
This e-mail and its attachments contain confidential information from OPPO, which is intended only for the person or entity whose address is listed above. Any use of the information contained herein in any way (including, but not limited to, total or partial disclosure, reproduction, or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this e-mail in error, please notify the sender by phone or email immediately and delete it!
^ permalink raw reply related [flat|nested] 20+ messages in thread* Re:
2020-03-27 8:36 (unknown) chenanqing
@ 2020-03-27 8:59 ` Ilya Dryomov
0 siblings, 0 replies; 20+ messages in thread
From: Ilya Dryomov @ 2020-03-27 8:59 UTC (permalink / raw)
To: chenanqing; +Cc: LKML, netdev, Ceph Development, kuba, Sage Weil, Jeff Layton
On Fri, Mar 27, 2020 at 9:36 AM <chenanqing@oppo.com> wrote:
>
> From: Chen Anqing <chenanqing@oppo.com>
> To: Ilya Dryomov <idryomov@gmail.com>
> Cc: Jeff Layton <jlayton@kernel.org>,
> Sage Weil <sage@redhat.com>,
> Jakub Kicinski <kuba@kernel.org>,
> ceph-devel@vger.kernel.org,
> netdev@vger.kernel.org,
> linux-kernel@vger.kernel.org,
> chenanqing@oppo.com
> Subject: [PATCH] libceph: we should take compound page into account also
> Date: Fri, 27 Mar 2020 04:36:30 -0400
> Message-Id: <20200327083630.36296-1-chenanqing@oppo.com>
> X-Mailer: git-send-email 2.18.2
>
> the patch is occur at a real crash,which slab is
> come from a compound page,so we need take the compound page
> into account also.
> fixed commit 7e241f647dc7 ("libceph: fall back to sendmsg for slab pages")'
>
> Signed-off-by: Chen Anqing <chenanqing@oppo.com>
> ---
> net/ceph/messenger.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/ceph/messenger.c b/net/ceph/messenger.c
> index f8ca5edc5f2c..e08c1c334cd9 100644
> --- a/net/ceph/messenger.c
> +++ b/net/ceph/messenger.c
> @@ -582,7 +582,7 @@ static int ceph_tcp_sendpage(struct socket *sock, struct page *page,
> * coalescing neighboring slab objects into a single frag which
> * triggers one of hardened usercopy checks.
> */
> - if (page_count(page) >= 1 && !PageSlab(page))
> + if (page_count(page) >= 1 && !PageSlab(compound_head(page)))
> sendpage = sock->ops->sendpage;
> else
> sendpage = sock_no_sendpage;
Hi Chen,
AFAICT compound pages should already be taken into account, because
PageSlab is defined as:
__PAGEFLAG(Slab, slab, PF_NO_TAIL)
#define __PAGEFLAG(uname, lname, policy) \
TESTPAGEFLAG(uname, lname, policy) \
__SETPAGEFLAG(uname, lname, policy) \
__CLEARPAGEFLAG(uname, lname, policy)
#define TESTPAGEFLAG(uname, lname, policy) \
static __always_inline int Page##uname(struct page *page) \
{ return test_bit(PG_##lname, &policy(page, 0)->flags); }
and PF_NO_TAIL policy is defined as:
#define PF_NO_TAIL(page, enforce) ({ \
VM_BUG_ON_PGFLAGS(enforce && PageTail(page), page); \
PF_POISONED_CHECK(compound_head(page)); })
So compound_head() is called behind the scenes.
Could you please explain what crash did you observe in more detail?
Perhaps you backported this patch to an older kernel?
Thanks,
Ilya
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re:
@ 2017-11-13 15:04 Amos Kalonzo
0 siblings, 0 replies; 20+ messages in thread
From: Amos Kalonzo @ 2017-11-13 15:04 UTC (permalink / raw)
Attn:
I am wondering why You haven't respond to my email for some days now.
reference to my client's contract balance payment of (11.7M,USD)
Kindly get back to me for more details.
Best Regards
Amos Kalonzo
^ permalink raw reply [flat|nested] 20+ messages in thread
* Re:
@ 2017-05-03 11:26 Paul Lopez-Bravo
0 siblings, 0 replies; 20+ messages in thread
From: Paul Lopez-Bravo @ 2017-05-03 11:26 UTC (permalink / raw)
--
Hallo,
Erlauben Sie mir, diese sehr wichtige Anfrage durch diesen Median
aufgrund seiner vertraulichen Natur zu machen. Mein Name ist Herr Paul
Lopez-Bravo, ein Rechtsanwalt in Spanien. Ich vertrete Late Philip, der
vor seinem Tod im Jahr 2009 ein reicher Unternehmer war. Ich vertraue
dir in einer dringenden Angelegenheit an, die sich auf eine Kaution
bezieht, die von diesem besonderen Klienten von mir vor seinem Tod
gemacht wurde. Ich suche für Ihre Zustimmung, mich zu ermächtigen,
Ihnen als seinen Erben zu präsentieren, um seine Bank zu veranlassen,
die Summe von $ 7.5Million (Sieben Million Fünfhundert Tausend Dollar),
die in einem suspendierten Bankkonto hinterlegt werden, zu übergeben.
Seine Bank hat mir ein letztes Ultimatum als sein Anwalt ausgegeben, um
seinen Erben zu präsentieren, da die gesetzlich zulässige Zeit für eine
solche Forderung abgelaufen ist, sonst wird der Fonds beschlagnahmt.
Die beabsichtigte Transaktion wird unter einer legitimen Art und Weise
durchgeführt, die Sie und ich vor jeglicher Rechtsverletzung schützen
wird. Ich werde meine Position als Mandantenanwalt nutzen, um die
Bearbeitung der benötigten rechtlichen Dokumentationen und die
erfolgreiche Durchführung dieser Transaktion zu gewährleisten. Alles
was ich verlange ist Ihr Verständnis und ehrliche Zusammenarbeit für
den Erfolg. Beachten Sie, dass nach der erfolgreichen Durchführung der
Transaktion, halten Sie 40% des gesamten Fonds nach allen Kosten.
Ich gebe Ihnen ausführliche Details, wenn Sie Ihr Interesse
bestätigen.
Ich hoffe, von Ihnen bald zu hören.
Mit freundlichen Grüßen
Paul Lopez-Bravo Esq
Tel: +34692899384
^ permalink raw reply [flat|nested] 20+ messages in thread
* RE:
@ 2015-11-01 20:03 Mario, Franco
0 siblings, 0 replies; 20+ messages in thread
From: Mario, Franco @ 2015-11-01 20:03 UTC (permalink / raw)
To: Recipients
Confirm your email if it current!!!
^ permalink raw reply [flat|nested] 20+ messages in thread
* RE:
@ 2015-08-11 10:57 zso2bytom
0 siblings, 0 replies; 20+ messages in thread
From: zso2bytom @ 2015-08-11 10:57 UTC (permalink / raw)
To: Recipients
Teraz mozesz uzyskac kredyt w wysokosci 2% za uniewaznic i dostac do 40 lat lub wiecej, aby go splacac. Nie naleza do kredytów krótkoterminowych, które sprawiaja, ze zwróci sie w kilka tygodni lub miesiecy. Nasza oferta obejmuje; * Refinansowanie * Home Improvement * Kredyty samochodowe * Konsolidacja zadluzenia * Linia kredytowa * Po drugie hipoteczny * Biznes Pozyczki * Osobiste Pozyczki
Zdobadz pieniadze potrzebne dzis z duza iloscia czasu, aby dokonac platnosci powrotem. Aby zastosowac, aby wyslac wszystkie pytania lub wezwania : flowellhelpdesk@gmail.com + 1- 435-241-5945
---
This email is free from viruses and malware because avast! Antivirus protection is active.
https://www.avast.com/antivirus
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 20+ messages in thread
* re:
@ 2013-08-23 6:18 info
0 siblings, 0 replies; 20+ messages in thread
From: info @ 2013-08-23 6:18 UTC (permalink / raw)
To: ceph-devel
Hello,
Compliments and good day to you and your family.
Without wasting much of your time i want to bring you into a business
venture which i think should be of interest and concern to you, since it has
to do with a perceived family member of yours. However i need to
be sure that you must have received this communication so i will not divulge
much information about it until i get a response from you.
Kindly respond back to me.
Regards,
David
^ permalink raw reply [flat|nested] 20+ messages in thread
[parent not found: <4FD71854.6060503@hastexo.com>]
* "Radosgw installation and administration" docs
[not found] <4FD71854.6060503@hastexo.com>
@ 2012-06-12 10:44 ` Florian Haas
2012-06-12 16:47 ` Yehuda Sadeh
0 siblings, 1 reply; 20+ messages in thread
From: Florian Haas @ 2012-06-12 10:44 UTC (permalink / raw)
To: ceph-devel@vger.kernel.org
Hi everyone,
I have a long flight ahead of me later this week and plan to be
spending some time on http://ceph.com/docs/master/ops/radosgw/ -- which
currently happens to be a bit, ahem, sparse.
There's currently not a lot of documentation on radosgw, and some of it
is inconsistent, so if one of the devs could answer the following
questions, I can put them in a more comprehensive document that should
make radosgw easier to set up and run.
1. Apache rewrite rule
Is the Apache configuration example listed in the man page correct and
authoritative? Specifically, it seems unclear to me whether the
rewrite engine rule:
(RewriteRule ^/([a-zA-Z0-9-_.]*)([/]?.*)
/s3gw.fcgi?page=$1¶ms=$2&%{QUERY_STRING}
[E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L])
... is expected to work only for compatibility with S3 clients, or
whether this rewrite rule is also for Swift clients.
2. FastCGI wrapper
The radosgw man page says it should be "exec /usr/bin/radosgw -c
/etc/ceph/ceph.conf -n client.radosgw.gateway", whereas the Wiki
(http://ceph.com/wiki/RADOS_Gateway) omits the -n option. I didn't get
it to work without the -n option, so is it safe to say that it is required?
3. Apache/radosgw daemon/FastCGI wrapper interaction
Is it safe to say that we always need all three of these? The man page indicates
so, the Wiki makes no mention of the daemon started by the init script.
4. FastCGI configuration directives
The man page mentions:
FastCgiExternalServer /var/www/s3gw.fcgi -socket /tmp/radosgw.sock
The Wiki says:
FastCgiWrapper /var/www/s3gw.fcgi
FastCgiServer /usr/bin/radosgw
https://github.com/ceph/teuthology/blob/master/teuthology/task/apache.conf
(which was mentioned as an additional reference on IRC at some point) says:
FastCgiIPCDir /tmp/cephtest/apache/tmp/fastcgi_sock
FastCgiExternalServer /tmp/cephtest/apache/htdocs/rgw.fcgi -socket rgw_sock
Which of these is required/preferred? -socket option or not? Wrapper,
Server or ExternalServer? IPCDir?
5. Logging
What's the preferred way of adding debug logging for radosgw?
https://github.com/ceph/teuthology/blob/master/teuthology/task/apache.conf
mentions:
SetEnv RGW_LOG_LEVEL 20
SetEnv RGW_PRINT_CONTINUE yes
SetEnv RGW_SHOULD_LOG yes
... but it's unclear to me whether this is still current (I found no
trace of those envars in the source, but maybe I was looking in the
wrong place).
https://github.com/ceph/ceph/commit/452b1248a68f743ad55641722da80e3fd5ad2ae9
touched the "debug rgw" option. If that is the preferred way of doing
things now, where should you set this? In ceph.conf, in the
[client.radosgw.<name>] section?
Also, for each of these, where would the logging output end up?
/var/log/ceph? Apache error log? If so, only if the Apache LogLevel is
more verbose than info? Syslog?
6. Swift API: Keys
Is it correct to assume that for any Swift client to work, we must set a
Swift key for the user, like so?
radosgw-admin key create --key-type=swift --uid=<user>
If so, is the secret_key that that creates for the user:
"swift_keys": [
{ "user": "<user>",
"secret_key": "<longbase64hash>"}]}
... the same key that the swift command line client expects to be set
with th -K option?
7. Swift API: swift user name
When we call "swift -U <user>", is that the verbatim user_id that we've
defined with "radosgw-admin user create --uid=<user_id>"? Or do we need
to set a prefix? Or define a separate Swift user ID?
8. Swift API: authentication version
When radosgw acts as the auth server for a Swift request, is it correct
to say that only v1.0 Swift authentication is supported, not v2.0?
9. Swift API: authentication URL
What's the correct Swift authentication URL for "swift -A <url>"? It
seems like it's "http://<rgw hostname>:<port>/auth", but confirmation
would help.
10. radosgw "OpenStack user" information
From the radosgw-admin man page:
--os-user=group:name
The OpenStack user (only needed for use with OpenStack)
--os-secret=key
The OpenStack key
What's this meant to be used for? Keystone authentication? If so, is
there anything else that needs to be done for Keystone to work with
this, such as add an endpoint URI?
Please feel free to point me to existing documentation where it
exists. Your help is much appreciated. Thanks!
Cheers,
Florian
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: "Radosgw installation and administration" docs
2012-06-12 10:44 ` "Radosgw installation and administration" docs Florian Haas
@ 2012-06-12 16:47 ` Yehuda Sadeh
2012-06-12 18:11 ` Florian Haas
0 siblings, 1 reply; 20+ messages in thread
From: Yehuda Sadeh @ 2012-06-12 16:47 UTC (permalink / raw)
To: Florian Haas; +Cc: ceph-devel@vger.kernel.org
On Tue, Jun 12, 2012 at 3:44 AM, Florian Haas <florian@hastexo.com> wrote:
> Hi everyone,
>
> I have a long flight ahead of me later this week and plan to be
> spending some time on http://ceph.com/docs/master/ops/radosgw/ -- which
> currently happens to be a bit, ahem, sparse.
>
> There's currently not a lot of documentation on radosgw, and some of it
> is inconsistent, so if one of the devs could answer the following
> questions, I can put them in a more comprehensive document that should
> make radosgw easier to set up and run.
>
> 1. Apache rewrite rule
>
> Is the Apache configuration example listed in the man page correct and
> authoritative? Specifically, it seems unclear to me whether the
> rewrite engine rule:
>
> (RewriteRule ^/([a-zA-Z0-9-_.]*)([/]?.*)
> /s3gw.fcgi?page=$1¶ms=$2&%{QUERY_STRING}
We currently use a slightly different rule:
RewriteRule ^/(.*)
/radosgw.fcgi?params=$1&%{QUERY_STRING}
[E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
> [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L])
>
> ... is expected to work only for compatibility with S3 clients, or
> whether this rewrite rule is also for Swift clients.
Not really needed for Swift. It's required for passing in the
HTTP_AUTHORIZATION env, however, Swift uses a different field which is
not filtered out by apache.
>
>
> 2. FastCGI wrapper
>
> The radosgw man page says it should be "exec /usr/bin/radosgw -c
> /etc/ceph/ceph.conf -n client.radosgw.gateway", whereas the Wiki
> (http://ceph.com/wiki/RADOS_Gateway) omits the -n option. I didn't get
> it to work without the -n option, so is it safe to say that it is required?
-n is required for specifying the ceph user that the gateway would
use. Without it it'd use client.admin is the default.
>
>
> 3. Apache/radosgw daemon/FastCGI wrapper interaction
>
> Is it safe to say that we always need all three of these? The man page indicates
> so, the Wiki makes no mention of the daemon started by the init script.
The wrapper is not needed if not using apache for spawning the radosgw
processes. E.g., when using the FastCgiExternalServer param:
FastCgiExternalServer /var/www/radosgw.fcgi -socket
/var/run/ceph/radosgw.client.radosgw
>
>
> 4. FastCGI configuration directives
>
> The man page mentions:
> FastCgiExternalServer /var/www/s3gw.fcgi -socket /tmp/radosgw.sock
>
> The Wiki says:
> FastCgiWrapper /var/www/s3gw.fcgi
> FastCgiServer /usr/bin/radosgw
>
> https://github.com/ceph/teuthology/blob/master/teuthology/task/apache.conf
> (which was mentioned as an additional reference on IRC at some point) says:
> FastCgiIPCDir /tmp/cephtest/apache/tmp/fastcgi_sock
> FastCgiExternalServer /tmp/cephtest/apache/htdocs/rgw.fcgi -socket rgw_sock
>
> Which of these is required/preferred? -socket option or not? Wrapper,
> Server or ExternalServer? IPCDir?
>
Either one is required. We prefer using the external server option. We
found out that letting apache (or the fastcgi process manager)
managing was sub-optimal and was introducing high latencies.
>
> 5. Logging
>
> What's the preferred way of adding debug logging for radosgw?
>
> https://github.com/ceph/teuthology/blob/master/teuthology/task/apache.conf
> mentions:
>
> SetEnv RGW_LOG_LEVEL 20
> SetEnv RGW_PRINT_CONTINUE yes
> SetEnv RGW_SHOULD_LOG yes
All are obsolete and defunct, and have a corresponding ceph.conf conf:
debug rgw = 20
rgw print continue = true
rgw should log = true
the latter will be replaced soon by:
rgw enable usage log = true
Note that only the 'debug rgw' option is really related to debug logs.
The 'rgw print continue' option is a badly named option to control the
use of 100-continue (should the radosgw 'print' -- as in FCGX_FPrintF
-- the 100-continue when it should?). This can only work with a
modified mod_fastcgi that supports that.
The 'rgw should log' option sets whether we log each user operation to
the dedicated pool (so that it can be analyzed later on for billing,
etc.)
>
> ... but it's unclear to me whether this is still current (I found no
> trace of those envars in the source, but maybe I was looking in the
> wrong place).
>
> https://github.com/ceph/ceph/commit/452b1248a68f743ad55641722da80e3fd5ad2ae9
> touched the "debug rgw" option. If that is the preferred way of doing
> things now, where should you set this? In ceph.conf, in the
> [client.radosgw.<name>] section?
Either under the global section, or [client], or
[client.radosgw.<name>]. Depends on how you organize your conf.
>
> Also, for each of these, where would the logging output end up?
> /var/log/ceph? Apache error log? If so, only if the Apache LogLevel is
> more verbose than info? Syslog?
The debug log would end up wherever you specified in the 'log file'
config option.
>
>
> 6. Swift API: Keys
>
> Is it correct to assume that for any Swift client to work, we must set a
> Swift key for the user, like so?
>
> radosgw-admin key create --key-type=swift --uid=<user>
>
> If so, is the secret_key that that creates for the user:
>
> "swift_keys": [
> { "user": "<user>",
> "secret_key": "<longbase64hash>"}]}
>
>
> ... the same key that the swift command line client expects to be set
> with th -K option?
Yes.
>
>
> 7. Swift API: swift user name
>
> When we call "swift -U <user>", is that the verbatim user_id that we've
> defined with "radosgw-admin user create --uid=<user_id>"? Or do we need
> to set a prefix? Or define a separate Swift user ID?
>
In swift the terminology is a bit different. There is the account and
under that there is the user. Since we already have a 'user' (which is
actually the swift account), we created a 'subuser'. So a one liner
user and swift-subuser creation would be as follows:
# radosgw-admin user create --subuser=yehuda:yehuda1
--display-name=Yehuda --key-type=swift --access=full
{ "user_id": "yehuda",
"rados_uid": 0,
"display_name": "Yehuda",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"subusers": [
{ "id": "yehuda:yehuda1",
"permissions": "full-control"}],
"keys": [],
"swift_keys": [
{ "user": "yehuda:yehuda1",
"secret_key": "7TD5f2QrwxkCnhthwowC4d9uEJ4mnX8nGsXjmnW8"}]}
The --access=full will give the subuser a full access to the account;
other options would be read, write, readwrite.
>
> 8. Swift API: authentication version
>
> When radosgw acts as the auth server for a Swift request, is it correct
> to say that only v1.0 Swift authentication is supported, not v2.0?
Yeah. Currently radosgw serves as v1.0 authenticator.
>
>
> 9. Swift API: authentication URL
>
> What's the correct Swift authentication URL for "swift -A <url>"? It
> seems like it's "http://<rgw hostname>:<port>/auth", but confirmation
> would help.
Confirmed.
>
> 10. radosgw "OpenStack user" information
>
> From the radosgw-admin man page:
> --os-user=group:name
> The OpenStack user (only needed for use with OpenStack)
> --os-secret=key
> The OpenStack key
Obsolete. That was the old way to configure swift users.
>
> What's this meant to be used for? Keystone authentication? If so, is
> there anything else that needs to be done for Keystone to work with
> this, such as add an endpoint URI?
iirc, the swift protocol provides the endpoint URI in the HTTP header,
so if the token was generated by another swift authenticator, we'd try
to authenticate against it. I'm not familiar with keystone, and
whether it's supposed to work with it.
>
> Please feel free to point me to existing documentation where it
> exists. Your help is much appreciated. Thanks!
>
That's my radosgw ceph.conf that I'm using in my test environment.
[client]
admin socket = /tmp/radosgw.adsock
debug ms = 1
rgw socket path = /tmp/.radosgw.sock
auth supported = none
log file = /var/log/radosgw/radosgw.log
debug rgw = 20
rgw cache enabled = 1
; rgw swift url = http://skinny
; rgw swift url prefix = swift
rgw dns name = skinny
rgw cache lru size = 1000
rgw enable ops log = false
; rgw print continue = false
[mon.a]
host = swab
mon addr = 192.168.106.223:14090
That's my apache site conf:
FastCgiExternalServer /var/www/web1/web/radosgw.fcgi -socket /tmp/.radosgw.sock
<VirtualHost *:80>
ServerName skinny.ops.newdream.net
ServerAlias skinny
ServerAdmin webmaster@example1.com
DocumentRoot /var/www/web1/web/
#turn engine on
RewriteEngine On
#following is important for S3/rados
RewriteRule ^/(.*)
/radosgw.fcgi?params=$1&%{QUERY_STRING}
[E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
<IfModule mod_fastcgi.c>
SuexecUserGroup web1 web1
# PHP_Fix_Pathinfo_Enable 1
<Directory /var/www/web1/web/>
Options +ExecCGI
AllowOverride None
SetHandler fastcgi-script
Order allow,deny
Allow from all
AuthBasicAuthoritative Off
</Directory>
</IfModule>
AllowEncodedSlashes On
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
ServerSignature Off
# DumpIOInput On
# DumpIOOutput On
</VirtualHost>
Thanks,
Yehuda
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: "Radosgw installation and administration" docs
2012-06-12 16:47 ` Yehuda Sadeh
@ 2012-06-12 18:11 ` Florian Haas
2012-06-12 18:54 ` Yehuda Sadeh
0 siblings, 1 reply; 20+ messages in thread
From: Florian Haas @ 2012-06-12 18:11 UTC (permalink / raw)
To: Yehuda Sadeh; +Cc: ceph-devel@vger.kernel.org
Hi Yehuda,
thanks, that resolved a lot of questions for me. A few follow-up
comments below:
On 06/12/12 18:47, Yehuda Sadeh wrote:
> On Tue, Jun 12, 2012 at 3:44 AM, Florian Haas <florian@hastexo.com> wrote:
>> Hi everyone,
>>
>> I have a long flight ahead of me later this week and plan to be
>> spending some time on http://ceph.com/docs/master/ops/radosgw/ -- which
>> currently happens to be a bit, ahem, sparse.
>>
>> There's currently not a lot of documentation on radosgw, and some of it
>> is inconsistent, so if one of the devs could answer the following
>> questions, I can put them in a more comprehensive document that should
>> make radosgw easier to set up and run.
>>
>> 1. Apache rewrite rule
>>
>> Is the Apache configuration example listed in the man page correct and
>> authoritative? Specifically, it seems unclear to me whether the
>> rewrite engine rule:
>>
>> (RewriteRule ^/([a-zA-Z0-9-_.]*)([/]?.*)
>> /s3gw.fcgi?page=$1¶ms=$2&%{QUERY_STRING}
>
> We currently use a slightly different rule:
>
> RewriteRule ^/(.*)
> /radosgw.fcgi?params=$1&%{QUERY_STRING}
> [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
Could you explain what happened to "page"?
>> [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L])
>>
>> ... is expected to work only for compatibility with S3 clients, or
>> whether this rewrite rule is also for Swift clients.
>
> Not really needed for Swift. It's required for passing in the
> HTTP_AUTHORIZATION env, however, Swift uses a different field which is
> not filtered out by apache.
OK.
>> 2. FastCGI wrapper
>>
>> The radosgw man page says it should be "exec /usr/bin/radosgw -c
>> /etc/ceph/ceph.conf -n client.radosgw.gateway", whereas the Wiki
>> (http://ceph.com/wiki/RADOS_Gateway) omits the -n option. I didn't get
>> it to work without the -n option, so is it safe to say that it is required?
>
> -n is required for specifying the ceph user that the gateway would
> use. Without it it'd use client.admin is the default.
OK.
>> 3. Apache/radosgw daemon/FastCGI wrapper interaction
>>
>> Is it safe to say that we always need all three of these? The man page indicates
>> so, the Wiki makes no mention of the daemon started by the init script.
>
> The wrapper is not needed if not using apache for spawning the radosgw
> processes. E.g., when using the FastCgiExternalServer param:
>
> FastCgiExternalServer /var/www/radosgw.fcgi -socket
> /var/run/ceph/radosgw.client.radosgw
>
>> 4. FastCGI configuration directives
>>
>> The man page mentions:
>> FastCgiExternalServer /var/www/s3gw.fcgi -socket /tmp/radosgw.sock
>>
>> The Wiki says:
>> FastCgiWrapper /var/www/s3gw.fcgi
>> FastCgiServer /usr/bin/radosgw
>>
>> https://github.com/ceph/teuthology/blob/master/teuthology/task/apache.conf
>> (which was mentioned as an additional reference on IRC at some point) says:
>> FastCgiIPCDir /tmp/cephtest/apache/tmp/fastcgi_sock
>> FastCgiExternalServer /tmp/cephtest/apache/htdocs/rgw.fcgi -socket rgw_sock
>>
>> Which of these is required/preferred? -socket option or not? Wrapper,
>> Server or ExternalServer? IPCDir?
>>
>
> Either one is required. We prefer using the external server option. We
> found out that letting apache (or the fastcgi process manager)
> managing was sub-optimal and was introducing high latencies.
OK, I'm sticking to FastCgiExternalServer then.
>> 5. Logging
>>
>> What's the preferred way of adding debug logging for radosgw?
>>
>> https://github.com/ceph/teuthology/blob/master/teuthology/task/apache.conf
>> mentions:
>>
>> SetEnv RGW_LOG_LEVEL 20
>> SetEnv RGW_PRINT_CONTINUE yes
>> SetEnv RGW_SHOULD_LOG yes
>
> All are obsolete and defunct, and have a corresponding ceph.conf conf:
>
> debug rgw = 20
> rgw print continue = true
> rgw should log = true
>
> the latter will be replaced soon by:
>
> rgw enable usage log = true
>
> Note that only the 'debug rgw' option is really related to debug logs.
> The 'rgw print continue' option is a badly named option to control the
> use of 100-continue (should the radosgw 'print' -- as in FCGX_FPrintF
> -- the 100-continue when it should?). This can only work with a
> modified mod_fastcgi that supports that.
> The 'rgw should log' option sets whether we log each user operation to
> the dedicated pool (so that it can be analyzed later on for billing,
> etc.)
Yep. I was really only looking for what "debug rgw" does, and got
confused by the FastCGI envars.
>> ... but it's unclear to me whether this is still current (I found no
>> trace of those envars in the source, but maybe I was looking in the
>> wrong place).
>>
>> https://github.com/ceph/ceph/commit/452b1248a68f743ad55641722da80e3fd5ad2ae9
>> touched the "debug rgw" option. If that is the preferred way of doing
>> things now, where should you set this? In ceph.conf, in the
>> [client.radosgw.<name>] section?
>
> Either under the global section, or [client], or
> [client.radosgw.<name>]. Depends on how you organize your conf.
OK.
>> Also, for each of these, where would the logging output end up?
>> /var/log/ceph? Apache error log? If so, only if the Apache LogLevel is
>> more verbose than info? Syslog?
>
>
> The debug log would end up wherever you specified in the 'log file'
> config option.
... or syslog, if log file = "" and syslog = true. (iirc)
>> 6. Swift API: Keys
>>
>> Is it correct to assume that for any Swift client to work, we must set a
>> Swift key for the user, like so?
>>
>> radosgw-admin key create --key-type=swift --uid=<user>
>>
>> If so, is the secret_key that that creates for the user:
>>
>> "swift_keys": [
>> { "user": "<user>",
>> "secret_key": "<longbase64hash>"}]}
>>
>>
>> ... the same key that the swift command line client expects to be set
>> with th -K option?
>
> Yes.
OK, but I realized that you apparently have to create a separate key
when creating a sub-user. Is that correct? Or is there a way for
sub-users to "inherit" the keys defined for their parent user?
>> 7. Swift API: swift user name
>>
>> When we call "swift -U <user>", is that the verbatim user_id that we've
>> defined with "radosgw-admin user create --uid=<user_id>"? Or do we need
>> to set a prefix? Or define a separate Swift user ID?
>>
>
> In swift the terminology is a bit different. There is the account and
> under that there is the user. Since we already have a 'user' (which is
> actually the swift account), we created a 'subuser'. So a one liner
> user and swift-subuser creation would be as follows:
>
> # radosgw-admin user create --subuser=yehuda:yehuda1
> --display-name=Yehuda --key-type=swift --access=full
It seems there is some magic involved so that if you do "user create",
set --subuser=<prefix>:<sub> and don't set --uid, it creates a new
parent user named <prefix>. Is this meant to be stable? Or is the
supported way of doing things to always first create a user, and then
use "subuser create" to create the subuser?
> { "user_id": "yehuda",
> "rados_uid": 0,
> "display_name": "Yehuda",
> "email": "",
> "suspended": 0,
> "max_buckets": 1000,
> "subusers": [
> { "id": "yehuda:yehuda1",
> "permissions": "full-control"}],
> "keys": [],
> "swift_keys": [
> { "user": "yehuda:yehuda1",
> "secret_key": "7TD5f2QrwxkCnhthwowC4d9uEJ4mnX8nGsXjmnW8"}]}
>
> The --access=full will give the subuser a full access to the account;
> other options would be read, write, readwrite.
OK.
>> 8. Swift API: authentication version
>>
>> When radosgw acts as the auth server for a Swift request, is it correct
>> to say that only v1.0 Swift authentication is supported, not v2.0?
>
> Yeah. Currently radosgw serves as v1.0 authenticator.
So I figured.
>> 9. Swift API: authentication URL
>>
>> What's the correct Swift authentication URL for "swift -A <url>"? It
>> seems like it's "http://<rgw hostname>:<port>/auth", but confirmation
>> would help.
>
> Confirmed.
Thanks.
>> 10. radosgw "OpenStack user" information
>>
>> From the radosgw-admin man page:
>> --os-user=group:name
>> The OpenStack user (only needed for use with OpenStack)
>> --os-secret=key
>> The OpenStack key
>
> Obsolete. That was the old way to configure swift users.
OK. Should this be removed from the man page then?
>> What's this meant to be used for? Keystone authentication? If so, is
>> there anything else that needs to be done for Keystone to work with
>> this, such as add an endpoint URI?
>
> iirc, the swift protocol provides the endpoint URI in the HTTP header,
> so if the token was generated by another swift authenticator, we'd try
> to authenticate against it. I'm not familiar with keystone, and
> whether it's supposed to work with it.
OK.
>> Please feel free to point me to existing documentation where it
>> exists. Your help is much appreciated. Thanks!
>>
>
> That's my radosgw ceph.conf that I'm using in my test environment.
>
> [client]
> admin socket = /tmp/radosgw.adsock
> debug ms = 1
> rgw socket path = /tmp/.radosgw.sock
> auth supported = none
Silly question: If "auth supported = none", is it still required to run
the ceph-authtool and ceph-auth commands specified in radosgw(8)?
> log file = /var/log/radosgw/radosgw.log
> debug rgw = 20
> rgw cache enabled = 1
> ; rgw swift url = http://skinny
> ; rgw swift url prefix = swift
I ran across this option sifting through src/rgw, can you explain what
the URL prefix is used for?
> rgw dns name = skinny
> rgw cache lru size = 1000
> rgw enable ops log = false
> ; rgw print continue = false
>
> [mon.a]
> host = swab
> mon addr = 192.168.106.223:14090
>
> That's my apache site conf:
>
> FastCgiExternalServer /var/www/web1/web/radosgw.fcgi -socket /tmp/.radosgw.sock
>
> <VirtualHost *:80>
> ServerName skinny.ops.newdream.net
> ServerAlias skinny
> ServerAdmin webmaster@example1.com
> DocumentRoot /var/www/web1/web/
>
> #turn engine on
> RewriteEngine On
>
> #following is important for S3/rados
> RewriteRule ^/(.*)
> /radosgw.fcgi?params=$1&%{QUERY_STRING}
> [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
>
> <IfModule mod_fastcgi.c>
> SuexecUserGroup web1 web1
> # PHP_Fix_Pathinfo_Enable 1
> <Directory /var/www/web1/web/>
> Options +ExecCGI
> AllowOverride None
> SetHandler fastcgi-script
> Order allow,deny
> Allow from all
> AuthBasicAuthoritative Off
> </Directory>
> </IfModule>
>
> AllowEncodedSlashes On
>
> ErrorLog /var/log/apache2/error.log
> CustomLog /var/log/apache2/access.log combined
> ServerSignature Off
>
> # DumpIOInput On
> # DumpIOOutput On
>
> </VirtualHost>
Thanks for your insight so far. I take that as a "WTFM". :)
Cheers,
Florian
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: "Radosgw installation and administration" docs
2012-06-12 18:11 ` Florian Haas
@ 2012-06-12 18:54 ` Yehuda Sadeh
2012-07-01 20:22 ` Chuanyu
0 siblings, 1 reply; 20+ messages in thread
From: Yehuda Sadeh @ 2012-06-12 18:54 UTC (permalink / raw)
To: Florian Haas; +Cc: ceph-devel@vger.kernel.org
On Tue, Jun 12, 2012 at 11:11 AM, Florian Haas <florian@hastexo.com> wrote:
> Hi Yehuda,
>
> thanks, that resolved a lot of questions for me. A few follow-up
> comments below:
>
>>
>> We currently use a slightly different rule:
>>
>> RewriteRule ^/(.*)
>> /radosgw.fcgi?params=$1&%{QUERY_STRING}
>> [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
>
> Could you explain what happened to "page"?
Not really. I don't remember, was probably necessary originally and
now it's not. Looking at the code, I think you can also drop the
params=$1 part:
RewriteRule ^/(.*) /radosgw.fcgi?%{QUERY_STRING}
[E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
>
>>> Also, for each of these, where would the logging output end up?
>>> /var/log/ceph? Apache error log? If so, only if the Apache LogLevel is
>>> more verbose than info? Syslog?
>>
>>
>> The debug log would end up wherever you specified in the 'log file'
>> config option.
>
> ... or syslog, if log file = "" and syslog = true. (iirc)
Yeah. Whichever ceph logging scheme you're using.
>
>>> 6. Swift API: Keys
>>>
>>> Is it correct to assume that for any Swift client to work, we must set a
>>> Swift key for the user, like so?
>>>
>>> radosgw-admin key create --key-type=swift --uid=<user>
>>>
>>> If so, is the secret_key that that creates for the user:
>>>
>>> "swift_keys": [
>>> { "user": "<user>",
>>> "secret_key": "<longbase64hash>"}]}
>>>
>>>
>>> ... the same key that the swift command line client expects to be set
>>> with th -K option?
>>
>> Yes.
>
> OK, but I realized that you apparently have to create a separate key
> when creating a sub-user. Is that correct? Or is there a way for
> sub-users to "inherit" the keys defined for their parent user?
>
>>> 7. Swift API: swift user name
>>>
>>> When we call "swift -U <user>", is that the verbatim user_id that we've
>>> defined with "radosgw-admin user create --uid=<user_id>"? Or do we need
>>> to set a prefix? Or define a separate Swift user ID?
>>>
>>
>> In swift the terminology is a bit different. There is the account and
>> under that there is the user. Since we already have a 'user' (which is
>> actually the swift account), we created a 'subuser'. So a one liner
>> user and swift-subuser creation would be as follows:
>>
>> # radosgw-admin user create --subuser=yehuda:yehuda1
>> --display-name=Yehuda --key-type=swift --access=full
>
> It seems there is some magic involved so that if you do "user create",
> set --subuser=<prefix>:<sub> and don't set --uid, it creates a new
> parent user named <prefix>. Is this meant to be stable? Or is the
The <user>:<subuser> notation is stable.
> supported way of doing things to always first create a user, and then
> use "subuser create" to create the subuser?
Both are supported, but note that the 'user create' command requires a
display-name to be specified, whereas the 'subuser create' doesn't. We
can change that later and only require the display-name if the user
does not exist, but at the moment that's how it works.
>
>> { "user_id": "yehuda",
>> "rados_uid": 0,
>> "display_name": "Yehuda",
>> "email": "",
>> "suspended": 0,
>> "max_buckets": 1000,
>> "subusers": [
>> { "id": "yehuda:yehuda1",
>> "permissions": "full-control"}],
>> "keys": [],
>> "swift_keys": [
>> { "user": "yehuda:yehuda1",
>> "secret_key": "7TD5f2QrwxkCnhthwowC4d9uEJ4mnX8nGsXjmnW8"}]}
>>
>
>>> 10. radosgw "OpenStack user" information
>>>
>>> From the radosgw-admin man page:
>>> --os-user=group:name
>>> The OpenStack user (only needed for use with OpenStack)
>>> --os-secret=key
>>> The OpenStack key
>>
>> Obsolete. That was the old way to configure swift users.
>
> OK. Should this be removed from the man page then?
Yeah, should be updated.
>
> Silly question: If "auth supported = none", is it still required to run
> the ceph-authtool and ceph-auth commands specified in radosgw(8)?
Not for setting up radosgw.
>> log file = /var/log/radosgw/radosgw.log
>> debug rgw = 20
>> rgw cache enabled = 1
>> ; rgw swift url = http://skinny
>> ; rgw swift url prefix = swift
>
> I ran across this option sifting through src/rgw, can you explain what
> the URL prefix is used for?
When authenticating the client, the swift_url and swift_prefix are
concatenated and passed to the client as the storage URL, along with
the token.
Thanks,
Yehuda
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 20+ messages in thread* Re: "Radosgw installation and administration" docs
2012-06-12 18:54 ` Yehuda Sadeh
@ 2012-07-01 20:22 ` Chuanyu
2012-07-02 9:35 ` Chuanyu Tsai
0 siblings, 1 reply; 20+ messages in thread
From: Chuanyu @ 2012-07-01 20:22 UTC (permalink / raw)
To: ceph-devel
Yehuda Sadeh <yehuda <at> inktank.com> writes:
>
> On Tue, Jun 12, 2012 at 11:11 AM, Florian Haas <florian <at> hastexo.com>
wrote:
> > Hi Yehuda,
> >
> > thanks, that resolved a lot of questions for me. A few follow-up
> > comments below:
> >
> >>
> >> We currently use a slightly different rule:
> >>
> >> RewriteRule ^/(.*)
> >> /radosgw.fcgi?params=$1&%{QUERY_STRING}
> >> [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
> >
> > Could you explain what happened to "page"?
>
> Not really. I don't remember, was probably necessary originally and
> now it's not. Looking at the code, I think you can also drop the
> params=$1 part:
>
> RewriteRule ^/(.*) /radosgw.fcgi?%{QUERY_STRING}
> [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
>
> >
> >>> Also, for each of these, where would the logging output end up?
> >>> /var/log/ceph? Apache error log? If so, only if the Apache LogLevel is
> >>> more verbose than info? Syslog?
> >>
> >>
> >> The debug log would end up wherever you specified in the 'log file'
> >> config option.
> >
> > ... or syslog, if log file = "" and syslog = true. (iirc)
>
> Yeah. Whichever ceph logging scheme you're using.
>
> >
> >>> 6. Swift API: Keys
> >>>
> >>> Is it correct to assume that for any Swift client to work, we must set a
> >>> Swift key for the user, like so?
> >>>
> >>> radosgw-admin key create --key-type=swift --uid=<user>
> >>>
> >>> If so, is the secret_key that that creates for the user:
> >>>
> >>> "swift_keys": [
> >>> { "user": "<user>",
> >>> "secret_key": "<longbase64hash>"}]}
> >>>
> >>>
> >>> ... the same key that the swift command line client expects to be set
> >>> with th -K option?
> >>
> >> Yes.
> >
> > OK, but I realized that you apparently have to create a separate key
> > when creating a sub-user. Is that correct? Or is there a way for
> > sub-users to "inherit" the keys defined for their parent user?
> >
> >>> 7. Swift API: swift user name
> >>>
> >>> When we call "swift -U <user>", is that the verbatim user_id that we've
> >>> defined with "radosgw-admin user create --uid=<user_id>"? Or do we need
> >>> to set a prefix? Or define a separate Swift user ID?
> >>>
> >>
> >> In swift the terminology is a bit different. There is the account and
> >> under that there is the user. Since we already have a 'user' (which is
> >> actually the swift account), we created a 'subuser'. So a one liner
> >> user and swift-subuser creation would be as follows:
> >>
> >> # radosgw-admin user create --subuser=yehuda:yehuda1
> >> --display-name=Yehuda --key-type=swift --access=full
> >
> > It seems there is some magic involved so that if you do "user create",
> > set --subuser=<prefix>:<sub> and don't set --uid, it creates a new
> > parent user named <prefix>. Is this meant to be stable? Or is the
>
> The <user>:<subuser> notation is stable.
>
> > supported way of doing things to always first create a user, and then
> > use "subuser create" to create the subuser?
>
> Both are supported, but note that the 'user create' command requires a
> display-name to be specified, whereas the 'subuser create' doesn't. We
> can change that later and only require the display-name if the user
> does not exist, but at the moment that's how it works.
>
> >
> >> { "user_id": "yehuda",
> >> "rados_uid": 0,
> >> "display_name": "Yehuda",
> >> "email": "",
> >> "suspended": 0,
> >> "max_buckets": 1000,
> >> "subusers": [
> >> { "id": "yehuda:yehuda1",
> >> "permissions": "full-control"}],
> >> "keys": [],
> >> "swift_keys": [
> >> { "user": "yehuda:yehuda1",
> >> "secret_key": "7TD5f2QrwxkCnhthwowC4d9uEJ4mnX8nGsXjmnW8"}]}
> >>
> >
Hi Yehuda, Florian,
I follow the wiki, and steps which you discussed,
construct my ceph system with rados gateway,
and I can use libs3 to upload file via radosgw, (thanks a lot!)
but got "405 Method Not Allowed" when I use swift,
$ swift -v -A http://s3.paca.tw:80/auth -U paca:paca1 -K
UoJO4nFgdAoX+9nEftElIY+AMmDIkcrUBkycNKPA stat
Auth GET failed: http://s3.paca.tw:80/auth/tokens 405 Method Not Allowed
( Because there has no test step on wiki,
I follow the Florian's question, and guess the test command is above ?!)
my radosgw-admin config:
$ radosgw-admin user info --uid=paca
{ "user_id": "paca",
"rados_uid": 0,
"display_name": "chuanyu",
"email": "chuanyu@cs.nctu.edu.tw",
"suspended": 0,
"subusers": [
{ "id": "paca:paca1",
"permissions": "<none>"}],
"keys": [
{ "user": "paca",
"access_key": "DS932H4EI9HK7I1CTDNF",
"secret_key": "Rn\/5FqHzRPZFN6f9R\/LuTqvG0AYjbHtrurrGydVk"}],
"swift_keys": [
{ "user": "paca:paca1",
"secret_key": "UoJO4nFgdAoX+9nEftElIY+AMmDIkcrUBkycNKPA"}]}
ceph.conf:
[client.radosgw.gateway]
host = volume
keyring = /etc/ceph/keyring/radosgw.gateway.keyring
rgw socket path = /var/run/ceph/rgw.sock
log file = ""
syslog = true
debug rgw = 20
my log:
http://pastebin.com/rhGhATmv
Any advice would be appreciate!
Tthanks,
Chuanyu
> >>> 10. radosgw "OpenStack user" information
> >>>
> >>> From the radosgw-admin man page:
> >>> --os-user=group:name
> >>> The OpenStack user (only needed for use with OpenStack)
> >>> --os-secret=key
> >>> The OpenStack key
> >>
> >> Obsolete. That was the old way to configure swift users.
> >
> > OK. Should this be removed from the man page then?
>
> Yeah, should be updated.
>
> >
> > Silly question: If "auth supported = none", is it still required to run
> > the ceph-authtool and ceph-auth commands specified in radosgw(8)?
>
> Not for setting up radosgw.
>
> >> log file = /var/log/radosgw/radosgw.log
> >> debug rgw = 20
> >> rgw cache enabled = 1
> >> ; rgw swift url = http://skinny
> >> ; rgw swift url prefix = swift
> >
> > I ran across this option sifting through src/rgw, can you explain what
> > the URL prefix is used for?
>
> When authenticating the client, the swift_url and swift_prefix are
> concatenated and passed to the client as the storage URL, along with
> the token.
>
> Thanks,
> Yehuda
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo <at> vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 20+ messages in thread* Re:
2012-07-01 20:22 ` Chuanyu
@ 2012-07-02 9:35 ` Chuanyu Tsai
0 siblings, 0 replies; 20+ messages in thread
From: Chuanyu Tsai @ 2012-07-02 9:35 UTC (permalink / raw)
To: ceph-devel
Chuanyu <chuanyu <at> cs.nctu.edu.tw> writes:
> Hi Yehuda, Florian,
>
> I follow the wiki, and steps which you discussed,
> construct my ceph system with rados gateway,
> and I can use libs3 to upload file via radosgw, (thanks a lot!)
> but got "405 Method Not Allowed" when I use swift,
>
> $ swift -v -A http://s3.paca.tw:80/auth -U paca:paca1 -K
> UoJO4nFgdAoX+9nEftElIY+AMmDIkcrUBkycNKPA stat
> Auth GET failed: http://s3.paca.tw:80/auth/tokens 405 Method Not Allowed
>
> ( Because there has no test step on wiki,
> I follow the Florian's question, and guess the test command is above ?!)
>
> my radosgw-admin config:
> $ radosgw-admin user info --uid=paca
> { "user_id": "paca",
> "rados_uid": 0,
> "display_name": "chuanyu",
> "email": "chuanyu <at> cs.nctu.edu.tw",
> "suspended": 0,
> "subusers": [
> { "id": "paca:paca1",
> "permissions": "full-control"}],
I've correct the permissions problem, thanks Florian!
> "keys": [
> { "user": "paca",
> "access_key": "DS932H4EI9HK7I1CTDNF",
> "secret_key": "Rn\/5FqHzRPZFN6f9R\/LuTqvG0AYjbHtrurrGydVk"}],
> "swift_keys": [
> { "user": "paca:paca1",
> "secret_key": "UoJO4nFgdAoX+9nEftElIY+AMmDIkcrUBkycNKPA"}]}
>
> ceph.conf:
> [client.radosgw.gateway]
> host = volume
> keyring = /etc/ceph/keyring/radosgw.gateway.keyring
> rgw socket path = /var/run/ceph/rgw.sock
> log file = ""
> syslog = true
> debug rgw = 20
>
> my log:
> http://pastebin.com/rhGhATmv
Hi,
I've noticed that the log shows I'm using *POST* method to getting op?
req 9:0.000277:swift-auth:POST /auth/tokens::getting op
But the code shows I'll always get NULL return
/ceph/src/rgw/rgw_swift_auth.cc:239
239 RGWOp *RGWHandler_SWIFT_Auth::get_op()
240 {
241 RGWOp *op;
242 switch (s->op) {
243 case OP_GET:
244 op = &rgw_swift_auth_get;
245 break;
246 default:
247 return NULL;
248 }
So 405 error occurs,
/ceph/src/rgw/rgw_main.cc:273
273 req->log(s, "getting op");
274 op = handler->get_op();
275 if (!op) {
276 abort_early(s, -ERR_METHOD_NOT_ALLOWED);
277 goto done;
My swift version (Version: 1.4.8-0ubuntu2, Ubuntu 12.04)
$ swift --version
swift 1.0
Does the version mismatch, or something else goes wrong?
I'll try curl connection directly later,
Thanks!
Chuanyu Tsai.
>
> Any advice would be appreciate!
> Tthanks,
> Chuanyu
^ permalink raw reply [flat|nested] 20+ messages in thread
* (unknown),
@ 2012-05-08 0:54 Tim Flavin
2012-05-17 21:10 ` Josh Durgin
0 siblings, 1 reply; 20+ messages in thread
From: Tim Flavin @ 2012-05-08 0:54 UTC (permalink / raw)
To: ceph-devel
The new site is great! I like the Ceph documentation, however I found
a couple of typos. Is this the best place address them? (Some of the
apparent typos may be my not understanding what is going on.)
http://ceph.com/docs/master/config-cluster/ceph-conf/
The "Hardware Recommendations" link near the bottom of the page gives
a 404. Did you want to point to
http://ceph.com/docs/master/install/hardware-recommendations/ ?
http://ceph.com/docs/master/config-ref/osd-config
For "osd client message size cap" The default value is 500 MB but
the description lists it a 200 MB.
http://ceph.com/docs/master/api/librbdpy/
The line of code: "size = 4 * 1024 * 1024 # 4 GiB" appears to be
missing a * 1024, and the next line
is "rbd_inst.create('myimage', 4)" when it probably should be
"rbd_inst.create('myimage', size)" This is repeated several times.
^ permalink raw reply [flat|nested] 20+ messages in thread* Re:
@ 2011-08-15 23:01 jeffrice
0 siblings, 0 replies; 20+ messages in thread
From: jeffrice @ 2011-08-15 23:01 UTC (permalink / raw)
I have a business proposal for you worth 7.5Million Great British Pound
Sterling's. If you are interested, please send a response.
Best regards,
Jeff Rice
^ permalink raw reply [flat|nested] 20+ messages in thread
end of thread, other threads:[~2020-03-27 15:53 UTC | newest]
Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-23 4:12 (unknown), jie sun
2012-10-23 11:50 ` Wido den Hollander
2012-10-24 5:48 ` Re: jie sun
2012-10-24 5:58 ` Re: Gregory Farnum
[not found] ` <CAB6Jr7SbbAE=yEVgg+UupTmavKfvFvGj8j7C9M0Ya2FocNmw9w@mail.gmail.com>
2012-10-25 12:15 ` Re: Gregory Farnum
2012-10-25 14:36 ` Re: Alex Elder
2012-10-25 15:38 ` Re: Sage Weil
2012-10-25 21:28 ` Re: Dan Mick
2012-10-25 22:15 ` Re: Alex Elder
2012-10-26 3:08 ` Re: jie sun
-- strict thread matches above, loose matches on Subject: below --
2020-03-27 9:20 (unknown) chenanqing
[not found] ` <5e7dc543.vYG3wru8B/me1sOV%chenanqing-Oq79sGaMObY@public.gmane.org>
2020-03-27 15:53 ` Lee Duncan
2020-03-27 8:36 (unknown) chenanqing
2020-03-27 8:59 ` Ilya Dryomov
2017-11-13 15:04 Re: Amos Kalonzo
2017-05-03 11:26 Re: Paul Lopez-Bravo
2015-11-01 20:03 Mario, Franco
2015-08-11 10:57 RE: zso2bytom
2013-08-23 6:18 info
[not found] <4FD71854.6060503@hastexo.com>
2012-06-12 10:44 ` "Radosgw installation and administration" docs Florian Haas
2012-06-12 16:47 ` Yehuda Sadeh
2012-06-12 18:11 ` Florian Haas
2012-06-12 18:54 ` Yehuda Sadeh
2012-07-01 20:22 ` Chuanyu
2012-07-02 9:35 ` Chuanyu Tsai
2012-05-08 0:54 (unknown), Tim Flavin
2012-05-17 21:10 ` Josh Durgin
2011-08-15 23:01 Re: jeffrice
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox