Skip to content
This repository has been archived by the owner on May 18, 2022. It is now read-only.

[RFC] Suspending provider #41

Closed
slemrmartin opened this issue Jun 13, 2018 · 5 comments
Closed

[RFC] Suspending provider #41

slemrmartin opened this issue Jun 13, 2018 · 5 comments
Assignees

Comments

@slemrmartin
Copy link

slemrmartin commented Jun 13, 2018

Overview

It is not possible temporary stop/suspend provider including all its workers in case there is running maintenance (or for example network maintenance leading to connectivity issue to provider).
Usually there is a lot of error messages in logs related to workers that belongs to provider in maintenance.

RFE BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1455145
List of PRs: ManageIQ/manageiq#17489

Solution

Provider can be "paused" and "resumed". What does pausing mean?

  1. Provider (manager and child managers) is disabled (by flag ExtManagementSystem.enabled)
    It stops provider specific workers (like Refresh worker)

  2. Provider is moved to special zone with no servers in it, we call it "maintenance zone"

Maintenance zone

Special unique zone. Is identified by MiqRegion.maintenance_zone association so it can be one per region. Is marked as invisible (Zone.visible) thus it shouldn't be visible by users.

When EMS is put to maintenance zone, original zone is saved to ExtManagementSystem.zone_before_pause

UI and API

UI shows buttons "Pause" and "Resume" in list and detail pages for providers.
Quadicon of provider has moon icon when paused.
Zone before pause is shown to users instead of maintenance zone.

Maintenance zone is invisible in Configuration's list of zones, choosing zone in new/edit provider pages and choosing zone for server.

Restrictions

  • Server cannot be placed to invisible zone
  • Running (resumed) provider cannot be put to invisible zone
  • Paused provider cannot change zone
@slemrmartin
Copy link
Author

Cc @Fryguy, @agrare, @Ladas

@bdunne
Copy link
Member

bdunne commented Aug 16, 2018

It is not possible temporary stop/suspend provider

That's not entirely true. There is no "stop / pause / suspend" button on the provider. But for the past 10+ years, we've recommended that users create a zone with no MiqServers in it and move the provider to that zone. This effectively prevents any interactions with this provider from happening.

@slemrmartin
Copy link
Author

@bdunne There are PRs which adds pause/resume buttons to providers, which causes moving provider to zone without server. I'll update this issue after we'll finish discussion about it (I'm sure we're close to it)

@slemrmartin slemrmartin changed the title [RFC] Suspending provider [WIP][RFC] Suspending provider Aug 16, 2018
@cben
Copy link

cben commented Aug 17, 2018

IIRC @zeari had added an enabled field, which does stop workers. Not sure if there was also some UI (?)

EDIT: ah, I didn't notice you already mention it.

@slemrmartin
Copy link
Author

@cben yes, this flag is used and extended for all providers and used for toolbar buttons

@slemrmartin slemrmartin changed the title [WIP][RFC] Suspending provider [RFC] Suspending provider Sep 27, 2018
@Fryguy Fryguy closed this as completed Jun 10, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

5 participants