[ceph-users] ceph tell mds.0 dirfrag split - syntax of the "frag" argument

2024-05-14 Thread Alexander E. Patrakov
Hello,

In the context of https://tracker.ceph.com/issues/64298, I decided to
do something manually. In the help output of "ceph tell" for an MDS, I
found these possibly useful commands:

dirfrag ls : List fragments in directory
dirfrag merge  : De-fragment directory by path
dirfrag split   : Fragment directory by path

They accept the "frag" argument that is underdocumented. In the
testsuite, they are used, and it seems like this argument accepts some
notation containing a slash, which is also produced as "str" by
"dirfrag ls".

Can anyone explain the meaning of the parts before and after the
slash? What is the relation between the accepted values for "dirfrag
split" and the output of "dirfrag ls" - do I just feed the fragment
from "dirfrag ls" to "dirfrag split" as-is? Is running "dirfrag split"
manually safe on a production cluster?

Thanks in advance.

-- 
Alexander Patrakov
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: Problem with take-over-existing-cluster.yml playbook

2024-05-14 Thread Frédéric Nass
Vlad,

Can you double check you've set public_network correctly in all.yaml file and 
removed it from ceph_conf_overrides? Looks like it doesn't find MONs IPs in 
public_network range.

Most of the the time, you'd get around this by adding/removing/changing 
settings in all.yaml and/or group_vars/*.yaml files.

You can also try adding multiple - on the ansible-playbook command and see 
if you get something useful.

Regards,
Frédéric.



De : vladimir franciz blando 
Envoyé : mardi 14 mai 2024 21:23
À : Frédéric Nass
Cc: Eugen Block; ceph-users 
Objet : Re: [ceph-users] Re: Problem with take-over-existing-cluster.yml 
playbook

Yes. I copied and ran the take over script on the root dir of ceph-ansible. 

Regards,

Vladimir Franciz S. Blando 
about.me/vblando
***
Sent from Mobile Gmail


On Wed, May 15, 2024 at 3:16 AM Frédéric Nass  
wrote:
>
> Vlad,
>
> Can you make sure take-over-existing-cluster.yml is in the root directory of 
> ceph-ansible (/usr/share/ceph-ansible) when you run it (as per step 10. of 
> the documentation)?
>
> Regards,
> Frédéric.
>
> - Le 14 Mai 24, à 19:31, vladimir franciz blando 
>  a écrit :
>>
>> Hi,
>>
>> That didn't work either.
>>
>> Regards,
>> Vlad Blando
>>
>> On Tue, May 14, 2024 at 4:10 PM Frédéric Nass 
>>  wrote:
>>>
>>>
>>> Hello Vlad,
>>>
>>> We've seen this before a while back. Not sure to recall how we got around 
>>> this but you might want to try setting 'ip_version: ipv4' in your all.yaml 
>>> file since this seems to be a condition to the facts setting.
>>>
>>> - name: Set_fact _monitor_addresses - ipv4
>>>   ansible.builtin.set_fact:
>>>     _monitor_addresses: "{{ _monitor_addresses | default({}) | 
>>> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] | 
>>> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
>>>   with_items: "{{ groups.get(mon_group_name, []) }}"
>>>   when:
>>>     - ip_version == 'ipv4'
>>>
>>> I can see we set it in our old all.yaml file.
>>>
>>> Regards,
>>> Frédéric.
>>>
>>> - Le 13 Mai 24, à 14:19, vladimir franciz blando 
>>> vladimir.bla...@gmail.com a écrit :
>>>
>>> > Hi,
>>> >
>>> > If I follow the guide, it only says to define the mons on the ansible 
>>> > hosts
>>> > files under the section [mons] which I did with this example (not real ip)
>>> >
>>> > [mons]
>>> > vlad-ceph1 monitor_address=192.168.1.1 ansible_user=ceph
>>> > vlad-ceph2 monitor_address=192.168.1.2 ansible_user=ceph
>>> > vlad-ceph3 monitor_address=192.168.1.3 ansible_user=ceph
>>> >
>>> >
>>> > Regards,
>>> > Vlad Blando 
>>> >
>>> >
>>> > On Wed, May 8, 2024 at 6:22 PM Eugen Block  wrote:
>>> >
>>> >> Hi,
>>> >>
>>> >> I'm not familiar with ceph-ansible. I'm not sure if I understand it
>>> >> correctly, according to [1] it tries to get the public IP range to
>>> >> define monitors (?). Can you verify if your mon sections in
>>> >> /etc/ansible/hosts are correct?
>>> >>
>>> >> ansible.builtin.set_fact:
>>> >>      _monitor_addresses: "{{ _monitor_addresses | default({}) |
>>> >> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
>>> >> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
>>> >>
>>> >> [1]
>>> >>
>>> >> https://github.com/ceph/ceph-ansible/blob/878cce5b4847a9a112f9d07c0fd651aa15f1e58b/roles/ceph-facts/tasks/set_monitor_address.yml
>>> >>
>>> >> Zitat von vladimir franciz blando :
>>> >>
>>> >> > I know that only a few are using this script but just trying my luck 
>>> >> > here
>>> >> > if someone has the same issue as mine.
>>> >> >
>>> >> > But first, who has successfully used this script and what version did 
>>> >> > you
>>> >> > use? Im using this guide on my test environment (
>>> >> >
>>> >> https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/installation_guide_for_red_hat_enterprise_linux/importing-an-existing-ceph-cluster-to-ansible
>>> >> > )
>>> >> >
>>> >> > Error encountered
>>> >> > ---
>>> >> > TASK [Generate ceph configuration file]
>>> >> > **
>>> >> >
>>> >> >
>>> >> ***
>>> >> > fatal: [vladceph-1]: FAILED! =>
>>> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>>> >> > undefined'
>>> >> > fatal: [vladceph-3]: FAILED! =>
>>> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>>> >> > undefined'
>>> >> > fatal: [vladceph-2]: FAILED! =>
>>> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>>> >> > undefined'
>>> >> > ---
>>> >> >
>>> >> >
>>> >> >
>>> >> > Regards,
>>> >> > Vlad Blando 
>>> >> > ___
>>> >> > ceph-users mailing list -- ceph-users@ceph.io
>>> >> > To unsubscribe send an email to ceph-users-le...@ceph.io
>>> >>
>>> >>
>>> >> __

[ceph-users] Re: Problem with take-over-existing-cluster.yml playbook

2024-05-14 Thread vladimir franciz blando
Yes. I copied and ran the take over script on the root dir of ceph-ansible.

Regards,

Vladimir Franciz S. Blando
about.me/vblando
***
Sent from Mobile Gmail


On Wed, May 15, 2024 at 3:16 AM Frédéric Nass <
frederic.n...@univ-lorraine.fr> wrote:

> Vlad,
>
> Can you make sure take-over-existing-cluster.yml is in the root directory
> of ceph-ansible (/usr/share/ceph-ansible) when you run it (as per step 10.
> of the documentation)?
>
> Regards,
> Frédéric.
>
> - Le 14 Mai 24, à 19:31, vladimir franciz blando <
> vladimir.bla...@gmail.com> a écrit :
>
> Hi,
>
> That didn't work either.
>
> Regards,
> Vlad Blando 
>
>
> On Tue, May 14, 2024 at 4:10 PM Frédéric Nass <
> frederic.n...@univ-lorraine.fr> wrote:
>
>>
>> Hello Vlad,
>>
>> We've seen this before a while back. Not sure to recall how we got around
>> this but you might want to try setting 'ip_version: ipv4' in your all.yaml
>> file since this seems to be a condition to the facts setting.
>>
>> - name: Set_fact _monitor_addresses - ipv4
>>   ansible.builtin.set_fact:
>> _monitor_addresses: "{{ _monitor_addresses | default({}) |
>> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
>> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
>>   with_items: "{{ groups.get(mon_group_name, []) }}"
>>   when:
>> - ip_version == 'ipv4'
>>
>> I can see we set it in our old all.yaml file.
>>
>> Regards,
>> Frédéric.
>>
>> - Le 13 Mai 24, à 14:19, vladimir franciz blando
>> vladimir.bla...@gmail.com a écrit :
>>
>> > Hi,
>> >
>> > If I follow the guide, it only says to define the mons on the ansible
>> hosts
>> > files under the section [mons] which I did with this example (not real
>> ip)
>> >
>> > [mons]
>> > vlad-ceph1 monitor_address=192.168.1.1 ansible_user=ceph
>> > vlad-ceph2 monitor_address=192.168.1.2 ansible_user=ceph
>> > vlad-ceph3 monitor_address=192.168.1.3 ansible_user=ceph
>> >
>> >
>> > Regards,
>> > Vlad Blando 
>> >
>> >
>> > On Wed, May 8, 2024 at 6:22 PM Eugen Block  wrote:
>> >
>> >> Hi,
>> >>
>> >> I'm not familiar with ceph-ansible. I'm not sure if I understand it
>> >> correctly, according to [1] it tries to get the public IP range to
>> >> define monitors (?). Can you verify if your mon sections in
>> >> /etc/ansible/hosts are correct?
>> >>
>> >> ansible.builtin.set_fact:
>> >>  _monitor_addresses: "{{ _monitor_addresses | default({}) |
>> >> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
>> >> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first})
>> }}"
>> >>
>> >> [1]
>> >>
>> >>
>> https://github.com/ceph/ceph-ansible/blob/878cce5b4847a9a112f9d07c0fd651aa15f1e58b/roles/ceph-facts/tasks/set_monitor_address.yml
>> >>
>> >> Zitat von vladimir franciz blando :
>> >>
>> >> > I know that only a few are using this script but just trying my luck
>> here
>> >> > if someone has the same issue as mine.
>> >> >
>> >> > But first, who has successfully used this script and what version
>> did you
>> >> > use? Im using this guide on my test environment (
>> >> >
>> >>
>> https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/installation_guide_for_red_hat_enterprise_linux/importing-an-existing-ceph-cluster-to-ansible
>> >> > )
>> >> >
>> >> > Error encountered
>> >> > ---
>> >> > TASK [Generate ceph configuration file]
>> >> >
>> **
>> >> >
>> >> >
>> >>
>> ***
>> >> > fatal: [vladceph-1]: FAILED! =>
>> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses''
>> is
>> >> > undefined'
>> >> > fatal: [vladceph-3]: FAILED! =>
>> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses''
>> is
>> >> > undefined'
>> >> > fatal: [vladceph-2]: FAILED! =>
>> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses''
>> is
>> >> > undefined'
>> >> > ---
>> >> >
>> >> >
>> >> >
>> >> > Regards,
>> >> > Vlad Blando 
>> >> > ___
>> >> > ceph-users mailing list -- ceph-users@ceph.io
>> >> > To unsubscribe send an email to ceph-users-le...@ceph.io
>> >>
>> >>
>> >> ___
>> >> ceph-users mailing list -- ceph-users@ceph.io
>> >> To unsubscribe send an email to ceph-users-le...@ceph.io
>> >>
>> > ___
>> > ceph-users mailing list -- ceph-users@ceph.io
>> > To unsubscribe send an email to ceph-users-le...@ceph.io
>>
>
>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: Problem with take-over-existing-cluster.yml playbook

2024-05-14 Thread Frédéric Nass
Vlad, 

Can you make sure take-over-existing-cluster.yml is in the root directory of 
ceph-ansible (/usr/share/ceph-ansible) when you run it (as per step 10. of the 
documentation)? 

Regards, 
Frédéric. 

- Le 14 Mai 24, à 19:31, vladimir franciz blando 
 a écrit : 

> Hi,

> That didn't work either.

> Regards,
> [ https://about.me/vblando | Vlad Blando ]

> On Tue, May 14, 2024 at 4:10 PM Frédéric Nass < [
> mailto:frederic.n...@univ-lorraine.fr | frederic.n...@univ-lorraine.fr ] >
> wrote:

>> Hello Vlad,

>> We've seen this before a while back. Not sure to recall how we got around 
>> this
>> but you might want to try setting 'ip_version: ipv4' in your all.yaml file
>> since this seems to be a condition to the facts setting.

>> - name: Set_fact _monitor_addresses - ipv4
>> ansible.builtin.set_fact:
>> _monitor_addresses: "{ { _monitor_addresses | default({}) | combine({item:
>> hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
>> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
>> with_items: "{ { groups.get(mon_group_name, []) }}"
>> when:
>> - ip_version == 'ipv4'

>> I can see we set it in our old all.yaml file.

>> Regards,
>> Frédéric.

>> - Le 13 Mai 24, à 14:19, vladimir franciz blando [
>> mailto:vladimir.bla...@gmail.com | vladimir.bla...@gmail.com ] a écrit :

>> > Hi,

>> > If I follow the guide, it only says to define the mons on the ansible hosts
>> > files under the section [mons] which I did with this example (not real ip)

>> > [mons]
>> > vlad-ceph1 monitor_address=192.168.1.1 ansible_user=ceph
>> > vlad-ceph2 monitor_address=192.168.1.2 ansible_user=ceph
>> > vlad-ceph3 monitor_address=192.168.1.3 ansible_user=ceph


>> > Regards,
>> > Vlad Blando < [ https://about.me/vblando | https://about.me/vblando ] >


>>> On Wed, May 8, 2024 at 6:22 PM Eugen Block < [ mailto:ebl...@nde.ag |
>> > ebl...@nde.ag ] > wrote:

>> >> Hi,

>> >> I'm not familiar with ceph-ansible. I'm not sure if I understand it
>> >> correctly, according to [1] it tries to get the public IP range to
>> >> define monitors (?). Can you verify if your mon sections in
>> >> /etc/ansible/hosts are correct?

>> >> ansible.builtin.set_fact:
>> >> _monitor_addresses: "{ { _monitor_addresses | default({}) |
>> >> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
>> >> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"

>> >> [1]

 [
 https://github.com/ceph/ceph-ansible/blob/878cce5b4847a9a112f9d07c0fd651aa15f1e58b/roles/ceph-facts/tasks/set_monitor_address.yml
 |
 https://github.com/ceph/ceph-ansible/blob/878cce5b4847a9a112f9d07c0fd651aa15f1e58b/roles/ceph-facts/tasks/set_monitor_address.yml
>> >> ]

 Zitat von vladimir franciz blando < [ mailto:vladimir.bla...@gmail.com |
>> >> vladimir.bla...@gmail.com ] >:

>> >> > I know that only a few are using this script but just trying my luck 
>> >> > here
>> >> > if someone has the same issue as mine.

>> >> > But first, who has successfully used this script and what version did 
>> >> > you
>> >> > use? Im using this guide on my test environment (

 [
 https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/installation_guide_for_red_hat_enterprise_linux/importing-an-existing-ceph-cluster-to-ansible
 |
 https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/installation_guide_for_red_hat_enterprise_linux/importing-an-existing-ceph-cluster-to-ansible
>> >> ]
>> >> > )

>> >> > Error encountered
>> >> > ---
>> >> > TASK [Generate ceph configuration file]
>> >> > **


>> >> ***
>> >> > fatal: [vladceph-1]: FAILED! =>
>> >> > msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> >> > undefined'
>> >> > fatal: [vladceph-3]: FAILED! =>
>> >> > msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> >> > undefined'
>> >> > fatal: [vladceph-2]: FAILED! =>
>> >> > msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> >> > undefined'
>> >> > ---



>> >> > Regards,
>> >> > Vlad Blando < [ https://about.me/vblando | https://about.me/vblando ] >
>> >> > ___
>> >> > ceph-users mailing list -- [ mailto:ceph-users@ceph.io | 
>> >> > ceph-users@ceph.io ]
 > To unsubscribe send an email to [ mailto:ceph-users-le...@ceph.io |
>> >> > ceph-users-le...@ceph.io ]


>> >> ___
>> >> ceph-users mailing list -- [ mailto:ceph-users@ceph.io | 
>> >> ceph-users@ceph.io ]
 To unsubscribe send an email to [ mailto:ceph-users-le...@ceph.io |
>> >> ceph-users-le...@ceph.io ]

>> > ___
>> > ceph-users mailing list -- [ mailto:ceph-users@ceph.io | 
>> > ceph-users@ceph.io ]
>>> To unsubscribe send an email to [ mailto:ceph-user

[ceph-users] Re: Upgrading Ceph Cluster OS

2024-05-14 Thread Anthony D'Atri
https://docs.ceph.com/en/latest/start/os-recommendations/#platforms


You might want to go to 20.04, then to Reef, then to 22.04

> On May 13, 2024, at 12:22, Nima AbolhassanBeigi 
>  wrote:
> 
> The ceph version is 16.2.13 pacific.
> It's deployed using ceph-ansible. (release branch stable-6.0)
> We are trying to upgrade from ubuntu 18.04 to ubuntu 22.04.
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io

___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: Upgrading Ceph Cluster OS

2024-05-14 Thread Nima AbolhassanBeigi
The ceph version is 16.2.13 pacific.
It's deployed using ceph-ansible. (release branch stable-6.0)
We are trying to upgrade from ubuntu 18.04 to ubuntu 22.04.
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: Problem with take-over-existing-cluster.yml playbook

2024-05-14 Thread vladimir franciz blando
Hi,

That didn't work either.

Regards,
Vlad Blando 


On Tue, May 14, 2024 at 4:10 PM Frédéric Nass <
frederic.n...@univ-lorraine.fr> wrote:

>
> Hello Vlad,
>
> We've seen this before a while back. Not sure to recall how we got around
> this but you might want to try setting 'ip_version: ipv4' in your all.yaml
> file since this seems to be a condition to the facts setting.
>
> - name: Set_fact _monitor_addresses - ipv4
>   ansible.builtin.set_fact:
> _monitor_addresses: "{{ _monitor_addresses | default({}) |
> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
>   with_items: "{{ groups.get(mon_group_name, []) }}"
>   when:
> - ip_version == 'ipv4'
>
> I can see we set it in our old all.yaml file.
>
> Regards,
> Frédéric.
>
> - Le 13 Mai 24, à 14:19, vladimir franciz blando
> vladimir.bla...@gmail.com a écrit :
>
> > Hi,
> >
> > If I follow the guide, it only says to define the mons on the ansible
> hosts
> > files under the section [mons] which I did with this example (not real
> ip)
> >
> > [mons]
> > vlad-ceph1 monitor_address=192.168.1.1 ansible_user=ceph
> > vlad-ceph2 monitor_address=192.168.1.2 ansible_user=ceph
> > vlad-ceph3 monitor_address=192.168.1.3 ansible_user=ceph
> >
> >
> > Regards,
> > Vlad Blando 
> >
> >
> > On Wed, May 8, 2024 at 6:22 PM Eugen Block  wrote:
> >
> >> Hi,
> >>
> >> I'm not familiar with ceph-ansible. I'm not sure if I understand it
> >> correctly, according to [1] it tries to get the public IP range to
> >> define monitors (?). Can you verify if your mon sections in
> >> /etc/ansible/hosts are correct?
> >>
> >> ansible.builtin.set_fact:
> >>  _monitor_addresses: "{{ _monitor_addresses | default({}) |
> >> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
> >> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
> >>
> >> [1]
> >>
> >>
> https://github.com/ceph/ceph-ansible/blob/878cce5b4847a9a112f9d07c0fd651aa15f1e58b/roles/ceph-facts/tasks/set_monitor_address.yml
> >>
> >> Zitat von vladimir franciz blando :
> >>
> >> > I know that only a few are using this script but just trying my luck
> here
> >> > if someone has the same issue as mine.
> >> >
> >> > But first, who has successfully used this script and what version did
> you
> >> > use? Im using this guide on my test environment (
> >> >
> >>
> https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/installation_guide_for_red_hat_enterprise_linux/importing-an-existing-ceph-cluster-to-ansible
> >> > )
> >> >
> >> > Error encountered
> >> > ---
> >> > TASK [Generate ceph configuration file]
> >> > **
> >> >
> >> >
> >>
> ***
> >> > fatal: [vladceph-1]: FAILED! =>
> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
> >> > undefined'
> >> > fatal: [vladceph-3]: FAILED! =>
> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
> >> > undefined'
> >> > fatal: [vladceph-2]: FAILED! =>
> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
> >> > undefined'
> >> > ---
> >> >
> >> >
> >> >
> >> > Regards,
> >> > Vlad Blando 
> >> > ___
> >> > ceph-users mailing list -- ceph-users@ceph.io
> >> > To unsubscribe send an email to ceph-users-le...@ceph.io
> >>
> >>
> >> ___
> >> ceph-users mailing list -- ceph-users@ceph.io
> >> To unsubscribe send an email to ceph-users-le...@ceph.io
> >>
> > ___
> > ceph-users mailing list -- ceph-users@ceph.io
> > To unsubscribe send an email to ceph-users-le...@ceph.io
>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: Problem with take-over-existing-cluster.yml playbook

2024-05-14 Thread vladimir franciz blando
Hi,

Started testing stable6 upto the latest branch. Same results.

Regards,
Vlad Blando 


On Tue, May 14, 2024 at 11:00 PM Guillaume ABRIOUX  wrote:

> Hi Vlad,
>
>
>
> To be honest, this playbook hasn’t received any engineering attention in a
> while. It's most likely broken.
>
> Which version of this playbook are you using?
>
>
>
> Regards,
>
>
>
> --
>
> Guillaume Abrioux
>
> Software Engineer
>
>
>
> *From: *Frédéric Nass 
> *Date: *Tuesday, 14 May 2024 at 10:12
> *To: *vladimir franciz blando 
> *Cc: *ceph-users 
> *Subject: *[EXTERNAL] [ceph-users] Re: Problem with
> take-over-existing-cluster.yml playbook
>
>
> Hello Vlad,
>
> We've seen this before a while back. Not sure to recall how we got around
> this but you might want to try setting 'ip_version: ipv4' in your all.yaml
> file since this seems to be a condition to the facts setting.
>
> - name: Set_fact _monitor_addresses - ipv4
>   ansible.builtin.set_fact:
> _monitor_addresses: "{{ _monitor_addresses | default({}) |
> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
>   with_items: "{{ groups.get(mon_group_name, []) }}"
>   when:
> - ip_version == 'ipv4'
>
> I can see we set it in our old all.yaml file.
>
> Regards,
> Frédéric.
>
> - Le 13 Mai 24, à 14:19, vladimir franciz blando
> vladimir.bla...@gmail.com a écrit :
>
> > Hi,
> >
> > If I follow the guide, it only says to define the mons on the ansible
> hosts
> > files under the section [mons] which I did with this example (not real
> ip)
> >
> > [mons]
> > vlad-ceph1 monitor_address=192.168.1.1 ansible_user=ceph
> > vlad-ceph2 monitor_address=192.168.1.2 ansible_user=ceph
> > vlad-ceph3 monitor_address=192.168.1.3 ansible_user=ceph
> >
> >
> > Regards,
> > Vlad Blando 
> >
> >
> > On Wed, May 8, 2024 at 6:22 PM Eugen Block  wrote:
> >
> >> Hi,
> >>
> >> I'm not familiar with ceph-ansible. I'm not sure if I understand it
> >> correctly, according to [1] it tries to get the public IP range to
> >> define monitors (?). Can you verify if your mon sections in
> >> /etc/ansible/hosts are correct?
> >>
> >> ansible.builtin.set_fact:
> >>  _monitor_addresses: "{{ _monitor_addresses | default({}) |
> >> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
> >> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
> >>
> >> [1]
> >>
> >>
> https://github.com/ceph/ceph-ansible/blob/878cce5b4847a9a112f9d07c0fd651aa15f1e58b/roles/ceph-facts/tasks/set_monitor_address.yml
> >>
> >> Zitat von vladimir franciz blando :
> >>
> >> > I know that only a few are using this script but just trying my luck
> here
> >> > if someone has the same issue as mine.
> >> >
> >> > But first, who has successfully used this script and what version did
> you
> >> > use? Im using this guide on my test environment (
> >> >
> >>
> https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/installation_guide_for_red_hat_enterprise_linux/importing-an-existing-ceph-cluster-to-ansible
> >> > )
> >> >
> >> > Error encountered
> >> > ---
> >> > TASK [Generate ceph configuration file]
> >> > **
> >> >
> >> >
> >>
> ***
> >> > fatal: [vladceph-1]: FAILED! =>
> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
> >> > undefined'
> >> > fatal: [vladceph-3]: FAILED! =>
> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
> >> > undefined'
> >> > fatal: [vladceph-2]: FAILED! =>
> >> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
> >> > undefined'
> >> > ---
> >> >
> >> >
> >> >
> >> > Regards,
> >> > Vlad Blando 
> >> > ___
> >> > ceph-users mailing list -- ceph-users@ceph.io
> >> > To unsubscribe send an email to ceph-users-le...@ceph.io
> >>
> >>
> >> ___
> >> ceph-users mailing list -- ceph-users@ceph.io
> >> To unsubscribe send an email to ceph-users-le...@ceph.io
> >>
> > ___
> > ceph-users mailing list -- ceph-users@ceph.io
> > To unsubscribe send an email to ceph-users-le...@ceph.io
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
> Unless otherwise stated above:
>
> Compagnie IBM France
> Siège Social : 17, avenue de l'Europe, 92275 Bois-Colombes Cedex
> RCS Nanterre 552 118 465
> Forme Sociale : S.A.S.
> Capital Social : 664 069 390,60 €
> SIRET : 552 118 465 03644 - Code NAF 6203Z
>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: cephfs-data-scan orphan objects while mds active?

2024-05-14 Thread Olli Rajala
Tnx Gregory,

Doesn't sound too safe then.

Only reason to discover these orphans via scanning would be to delete the
files again and I know all these files were at least one year old... so, I
wonder if I could somehow do something like:
1) do forward scrub with a custom tag
2) iterate over all the objects in the pool and delete all objects without
the tag and older than one year

Is there any tooling to do such an operation? Any risks or flawed logic
there?

...or any other ways to discover and get rid of these objects?

Cheers!
---
Olli Rajala - Lead TD
Anima Vitae Ltd.
www.anima.fi
---


On Tue, May 14, 2024 at 9:41 AM Gregory Farnum  wrote:

> The cephfs-data-scan tools are built with the expectation that they'll
> be run offline. Some portion of them could be run without damaging the
> live filesystem (NOT all, and I'd have to dig in to check which is
> which), but they will detect inconsistencies that don't really exist
> (due to updates that are committed to the journal but not fully
> flushed out to backing objects) and so I don't think it would do any
> good.
> -Greg
>
> On Mon, May 13, 2024 at 4:33 AM Olli Rajala  wrote:
> >
> > Hi,
> >
> > I suspect that I have some orphan objects on a data pool after quite
> > haphazardly evicting and removing a cache pool after deleting 17TB of
> files
> > from cephfs. I have forward scrubbed the mds and the filesystem is in
> clean
> > state.
> >
> > This is a production system and I'm curious if it would be safe to
> > run cephfs-data-scan scan_extents and scan_inodes while the fs is online?
> > Does it help if I give a custom tag while forward scrubbing and then
> > use --filter-tag on the backward scans?
> >
> > ...or is there some other way to check and cleanup orphans?
> >
> > tnx,
> > ---
> > Olli Rajala - Lead TD
> > Anima Vitae Ltd.
> > www.anima.fi
> > ---
> > ___
> > ceph-users mailing list -- ceph-users@ceph.io
> > To unsubscribe send an email to ceph-users-le...@ceph.io
> >
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: Problem with take-over-existing-cluster.yml playbook

2024-05-14 Thread Guillaume ABRIOUX
Hi Vlad,

To be honest, this playbook hasn’t received any engineering attention in a 
while. It's most likely broken.
Which version of this playbook are you using?

Regards,

--
Guillaume Abrioux
Software Engineer

From: Frédéric Nass 
Date: Tuesday, 14 May 2024 at 10:12
To: vladimir franciz blando 
Cc: ceph-users 
Subject: [EXTERNAL] [ceph-users] Re: Problem with 
take-over-existing-cluster.yml playbook

Hello Vlad,

We've seen this before a while back. Not sure to recall how we got around this 
but you might want to try setting 'ip_version: ipv4' in your all.yaml file 
since this seems to be a condition to the facts setting.

- name: Set_fact _monitor_addresses - ipv4
  ansible.builtin.set_fact:
_monitor_addresses: "{{ _monitor_addresses | default({}) | combine({item: 
hostvars[item]['ansible_facts']['all_ipv4_addresses'] | 
ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
  with_items: "{{ groups.get(mon_group_name, []) }}"
  when:
- ip_version == 'ipv4'

I can see we set it in our old all.yaml file.

Regards,
Frédéric.

- Le 13 Mai 24, à 14:19, vladimir franciz blando vladimir.bla...@gmail.com 
a écrit :

> Hi,
>
> If I follow the guide, it only says to define the mons on the ansible hosts
> files under the section [mons] which I did with this example (not real ip)
>
> [mons]
> vlad-ceph1 monitor_address=192.168.1.1 ansible_user=ceph
> vlad-ceph2 monitor_address=192.168.1.2 ansible_user=ceph
> vlad-ceph3 monitor_address=192.168.1.3 ansible_user=ceph
>
>
> Regards,
> Vlad Blando 
>
>
> On Wed, May 8, 2024 at 6:22 PM Eugen Block  wrote:
>
>> Hi,
>>
>> I'm not familiar with ceph-ansible. I'm not sure if I understand it
>> correctly, according to [1] it tries to get the public IP range to
>> define monitors (?). Can you verify if your mon sections in
>> /etc/ansible/hosts are correct?
>>
>> ansible.builtin.set_fact:
>>  _monitor_addresses: "{{ _monitor_addresses | default({}) |
>> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
>> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
>>
>> [1]
>>
>> https://github.com/ceph/ceph-ansible/blob/878cce5b4847a9a112f9d07c0fd651aa15f1e58b/roles/ceph-facts/tasks/set_monitor_address.yml
>>
>> Zitat von vladimir franciz blando :
>>
>> > I know that only a few are using this script but just trying my luck here
>> > if someone has the same issue as mine.
>> >
>> > But first, who has successfully used this script and what version did you
>> > use? Im using this guide on my test environment (
>> >
>> https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/installation_guide_for_red_hat_enterprise_linux/importing-an-existing-ceph-cluster-to-ansible
>> > )
>> >
>> > Error encountered
>> > ---
>> > TASK [Generate ceph configuration file]
>> > **
>> >
>> >
>> ***
>> > fatal: [vladceph-1]: FAILED! =>
>> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> > undefined'
>> > fatal: [vladceph-3]: FAILED! =>
>> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> > undefined'
>> > fatal: [vladceph-2]: FAILED! =>
>> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> > undefined'
>> > ---
>> >
>> >
>> >
>> > Regards,
>> > Vlad Blando 
>> > ___
>> > ceph-users mailing list -- ceph-users@ceph.io
>> > To unsubscribe send an email to ceph-users-le...@ceph.io
>>
>>
>> ___
>> ceph-users mailing list -- ceph-users@ceph.io
>> To unsubscribe send an email to ceph-users-le...@ceph.io
>>
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io

Unless otherwise stated above:

Compagnie IBM France
Siège Social : 17, avenue de l'Europe, 92275 Bois-Colombes Cedex
RCS Nanterre 552 118 465
Forme Sociale : S.A.S.
Capital Social : 664 069 390,60 €
SIRET : 552 118 465 03644 - Code NAF 6203Z
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: Determine client/inode/dnode source of massive explosion in CephFS metadata pool usage (Red Hat Nautilus CephFS)

2024-05-14 Thread Kotresh Hiremath Ravishankar
I think you can do the following.

NOTE: If you know the objects that are recently created, you can skip to
step 5

1. List the objects in the metadata pool and copy it to a file
 rados -p  ls > /tmp/metadata_obj_list
2. Prepare a bulk stat script for each object. Unfortunately xargs didn't
work with rados cmd.
 sed "s/^/rados -p  stat /g" /tmp/metadata_obj_list -i
3. bash /tmp/metadata_obj_list
4. Find out the recently created objects based on stat output from step 3
5. Pick any recently created object to map to the directory path
rados -p  getxattr  parent | ceph-dencoder type
'inode_backtrace_t' import - decode dump_json
e.g.,
$rados -p cephfs.a.meta getxattr 10001f9. parent |
ceph-dencoder type 'inode_backtrace_t' import - decode dump_json
{
"ino": 1099511628281,
"ancestors": [
{
"dirino": 1099511628280,
"dname": "dir3",
"version": 4
},
{
"dirino": 1099511627776,
"dname": "dir2",
"version": 13
},
{
"dirino": 1,
"dname": "dir1",
"version": 21
}
],
"pool": 2,
"old_pools": []
}

This is directory object of the path /dir1/dir2/dir3

Thanks and Regards,
Kotresh H R

On Mon, May 13, 2024 at 1:18 PM Eugen Block  wrote:

> I just read your message again, you only mention newly created files,
> not new clients. So my suggestion probably won't help you in this
> case, but it might help others. :-)
>
> Zitat von Eugen Block :
>
> > Hi Paul,
> >
> > I don't really have a good answer to your question, but maybe this
> > approach can help track down the clients.
> >
> > Each MDS client has an average "uptime" metric stored in the MDS:
> >
> > storage01:~ # ceph tell mds.cephfs.storage04.uxkclk session ls
> > ...
> > "id": 409348719,
> > ...
> > "uptime": 844831.115640342,
> > ...
> > "entity_id": "nova-mount",
> > "hostname": "FQDN",
> > "kernel_version": "5.4.0-125-generic",
> > "root": "/openstack-cluster/nova-instances"
> > ...
> >
> > This client has the shortest uptime (9 days), it was a compute node
> > which was integrated into openstack 9 days ago. I don't know your
> > CephFS directory structure, could this help identify the client in
> > your case?
> >
> > Regards,
> > Eugen
> >
> >
> > Zitat von Paul Browne :
> >
> >> Hello Ceph users,
> >>
> >> We've recently seen a very massive uptick in the stored capacity of
> >> our CephFS metadata pool, 150X the raw stored capacity used in a
> >> very short timeframe of only 48 hours or so. The number of stored
> >> objects rose by ~1.5 million or so in that timeframe (attached PNG
> >> shows the increase)
> >>
> >> What I'd really like to be able to determine, but haven't yet
> >> figured out how, is to map these newly stored objects (over this
> >> limited time window) to inodes/dnodes in the filesystem and from
> >> there to individual namespaces being used in the filesystem.
> >>
> >> This should then allow me to track back the increased usage to
> >> specific projects using the filesystem for research data storage
> >> and give them a mild warning about possibly exhausting the
> >> available metadata pool capacity.
> >>
> >> Would anyone know if there's any capability in CephFs to do
> >> something like this, specifically in Nautilus (being run here as
> >> Red Hat Ceph Storage 4)?
> >>
> >> We've scheduled upgrades to later RHCS releases, but I'd like the
> >> cluster and CephFS state to be in a better place first if possible.
> >>
> >> Thanks,
> >> Paul Browne
> >>
> >> [cid:e87ad248-6621-4e9d-948b-da4428f8dbb8]
> >>
> >> ***
> >> Paul Browne
> >> Research Computing Platforms
> >> University Information Services
> >> Roger Needham Building
> >> JJ Thompson Avenue
> >> University of Cambridge
> >> Cambridge
> >> United Kingdom
> >> E-Mail: pf...@cam.ac.uk
> >> Tel: 0044-1223-746548
> >> ***
>
>
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
>
>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: Problem with take-over-existing-cluster.yml playbook

2024-05-14 Thread Frédéric Nass

Hello Vlad,

We've seen this before a while back. Not sure to recall how we got around this 
but you might want to try setting 'ip_version: ipv4' in your all.yaml file 
since this seems to be a condition to the facts setting.

- name: Set_fact _monitor_addresses - ipv4
  ansible.builtin.set_fact:
_monitor_addresses: "{{ _monitor_addresses | default({}) | combine({item: 
hostvars[item]['ansible_facts']['all_ipv4_addresses'] | 
ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
  with_items: "{{ groups.get(mon_group_name, []) }}"
  when:
- ip_version == 'ipv4'

I can see we set it in our old all.yaml file.

Regards,
Frédéric.

- Le 13 Mai 24, à 14:19, vladimir franciz blando vladimir.bla...@gmail.com 
a écrit :

> Hi,
> 
> If I follow the guide, it only says to define the mons on the ansible hosts
> files under the section [mons] which I did with this example (not real ip)
> 
> [mons]
> vlad-ceph1 monitor_address=192.168.1.1 ansible_user=ceph
> vlad-ceph2 monitor_address=192.168.1.2 ansible_user=ceph
> vlad-ceph3 monitor_address=192.168.1.3 ansible_user=ceph
> 
> 
> Regards,
> Vlad Blando 
> 
> 
> On Wed, May 8, 2024 at 6:22 PM Eugen Block  wrote:
> 
>> Hi,
>>
>> I'm not familiar with ceph-ansible. I'm not sure if I understand it
>> correctly, according to [1] it tries to get the public IP range to
>> define monitors (?). Can you verify if your mon sections in
>> /etc/ansible/hosts are correct?
>>
>> ansible.builtin.set_fact:
>>  _monitor_addresses: "{{ _monitor_addresses | default({}) |
>> combine({item: hostvars[item]['ansible_facts']['all_ipv4_addresses'] |
>> ips_in_ranges(hostvars[item]['public_network'].split(',')) | first}) }}"
>>
>> [1]
>>
>> https://github.com/ceph/ceph-ansible/blob/878cce5b4847a9a112f9d07c0fd651aa15f1e58b/roles/ceph-facts/tasks/set_monitor_address.yml
>>
>> Zitat von vladimir franciz blando :
>>
>> > I know that only a few are using this script but just trying my luck here
>> > if someone has the same issue as mine.
>> >
>> > But first, who has successfully used this script and what version did you
>> > use? Im using this guide on my test environment (
>> >
>> https://access.redhat.com/documentation/en-us/red_hat_ceph_storage/3/html/installation_guide_for_red_hat_enterprise_linux/importing-an-existing-ceph-cluster-to-ansible
>> > )
>> >
>> > Error encountered
>> > ---
>> > TASK [Generate ceph configuration file]
>> > **
>> >
>> >
>> ***
>> > fatal: [vladceph-1]: FAILED! =>
>> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> > undefined'
>> > fatal: [vladceph-3]: FAILED! =>
>> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> > undefined'
>> > fatal: [vladceph-2]: FAILED! =>
>> >   msg: '''_monitor_addresses'' is undefined. ''_monitor_addresses'' is
>> > undefined'
>> > ---
>> >
>> >
>> >
>> > Regards,
>> > Vlad Blando 
>> > ___
>> > ceph-users mailing list -- ceph-users@ceph.io
>> > To unsubscribe send an email to ceph-users-le...@ceph.io
>>
>>
>> ___
>> ceph-users mailing list -- ceph-users@ceph.io
>> To unsubscribe send an email to ceph-users-le...@ceph.io
>>
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io


[ceph-users] Re: label or pseudo name for cephfs volume path

2024-05-14 Thread Kotresh Hiremath Ravishankar
On Sat, May 11, 2024 at 6:04 AM Adiga, Anantha 
wrote:

> Hi,
>
> Under the circumstance that a ceph fs subvolume has   to be recreated ,
> the  uuid will change  and   we have to change  all  sources  that
> reference  the volume path.
>
> Is there a way to provide  a  label /tag  to the volume path  that can be
> used for  pv_root_path so that we do not have to change  any references OR
> any suggestion  to address this need ?
>

No, the 'subvolume create' cmd doesn't take the existing volume path.  But
you can create (recreate) it with the same subvolume name.
Could you explain a bit more on the circumstance that requires this ?
Is the expectation to keep the below path unchanged with new subvolume
creation ?
pv_root_path:
/volumes/cephfs_data_pool_ec21_subvolumegroup/cluster_inventory_subvolume/ecfdf977-1fdb-4474-b8dd-c3bedb42620e
You mentioned about uuid changing. The path also contains subvolume name
too. What exact subvolume operations are involved in the use case?



>
> Spec containing  subvolume path:
> k8s_rook_pv:
>   - name: inventory-pv
> subvolumegroup: cephfs_data_pool_ec21_subvolumegroup
> subvolume: cluster_inventory_subvolume
> data_pool: cephfs_data_pool_ec21
> size: 10Gi
> pvc_name: prometheus-inventory-pvc
> pv_root_path:
> /volumes/cephfs_data_pool_ec21_subvolumegroup/cluster_inventory_subvolume/ecfdf977-1fdb-4474-b8dd-c3bedb42620e
> mode: ReadWriteMany
>
>
> Thank you,
> Anantha
> ___
> ceph-users mailing list -- ceph-users@ceph.io
> To unsubscribe send an email to ceph-users-le...@ceph.io
>
>
___
ceph-users mailing list -- ceph-users@ceph.io
To unsubscribe send an email to ceph-users-le...@ceph.io