Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Fix: crm_mon: try to connect CIB while pacemakerd shutting down #2342

Merged

Conversation

wenningerk
Copy link
Contributor

@wenningerk wenningerk commented Apr 12, 2021

actually while resources are evacuated from the node. But atm
there is no clean and easy way to tell when this is done or if
pacemakerd is just shutting down leftover daemons. So try to
connect anyway.

This showed up to be an issue - introduced by checking for
pacemakerd in full up & running state - when resources are
using crm_mon in their stop-operation.
Maybe don't merge this right away.
I've opened this PR with the simplest solution to just handle
the state where pacemakerd is sequentially shutting down
the subdaemons exactly like as if it was fully up and running.
So we can discuss here.
Alternative might be introduction of an additional state so
that when querying the state of pacemakerd the caller can
know that it is actually still trying to get down all resources
on the node before starting to shutdown all the subdaemons.

actually while resources are evacuated from the node. But atm
there is no clean and easy way to tell when this is done and
pacemakerd is just shutting down leftover daemons. So try to
connect anyway.
@kgaillot kgaillot merged commit f2d8a3d into ClusterLabs:master Apr 12, 2021
@HideoYamauchi
Copy link
Contributor

Hi Klaus,
Hi Ken,

Thank you for the fix.
I'll test this fix today just in case.

Many thanks,
Hideo Yamauchi.

@wenningerk
Copy link
Contributor Author

I'll test this fix today just in case.

Thank you - cool if you can give it a try ...

@HideoYamauchi
Copy link
Contributor

HideoYamauchi commented Apr 13, 2021

Hi Klaus,

Unfortunately, the problem still seems to remain.
I will check it a bit more.

I will also contact you with details of the issue.

Best Regards,
Hideo Yamauchi.

@HideoYamauchi
Copy link
Contributor

Hi Klaus,

In RA of pgsql, the option of xml may be used to call crm_mon, so the following modifications are also required.

static int
pacemakerd_status(void){
(snip)
                             case pcmk_pacemakerd_state_running:
                                 rc = pcmk_rc_ok;
                                 break;
+                            case pcmk_pacemakerd_state_shutting_down:
+                                /* try our luck maybe CIB is still accessible */
+                                rc = pcmk_rc_ok;
+                                break;
                             default:
                                 break;
(snip)

Best Regards,
Hideo Yamauchi.

@wenningerk
Copy link
Contributor Author

wenningerk commented Apr 13, 2021

In RA of pgsql, the option of xml may be used to call crm_mon, so the following modifications are also required.

Of course - thanks for the pointer ...
Did you verify if it is working properly with the additional change?

@HideoYamauchi
Copy link
Contributor

In RA of pgsql, the option of xml may be used to call crm_mon, so the following modifications are also required.

Of course - thanks for the pointer ...
Did you verify if it is working properly with the additional change?

I took a lot of time to build the test environment.
The test will be completed tomorrow.
Please wait for a while.

Best Regards,
Hideo Yamauchi.

@wenningerk
Copy link
Contributor Author

wenningerk commented Apr 13, 2021

Thanks Hideo. I know testing with timing-critical stuff is a pain.
Opened a new PR for it #2343

@HideoYamauchi
Copy link
Contributor

HideoYamauchi commented Apr 13, 2021

Thanks Hideo. I know testing with timing-critical stuff is a pain.
Opened a new PR for it #2343

Hi Klaus,

Okay!
When my test is over, I will comment the results on a new PR.

Many thanks,
Hideo Yamauchi.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants