Liron Aravot has posted comments on this change. Change subject: core: intrdoucing host immediate domain recovery mechanism ......................................................................
Patch Set 2: (6 comments) http://gerrit.ovirt.org/#/c/27523/2//COMMIT_MSG Commit Message: Line 5: CommitDate: 2014-05-11 11:51:35 +0300 Line 6: Line 7: core: intrdoucing host immediate domain recovery mechanism Line 8: Line 9: Ovirt engine allows hosts to be activated even if they can't access some > c/Ovirt/oVirt/ Done Line 10: of the data center's storage domain in case that those domains are Line 11: marked as "inactive" which means that all the hosts that are already in Line 12: status up reported them as problematic (therefore there's no need to Line 13: prevent "new" hosts from being activated). Line 6: Line 7: core: intrdoucing host immediate domain recovery mechanism Line 8: Line 9: Ovirt engine allows hosts to be activated even if they can't access some Line 10: of the data center's storage domain in case that those domains are > s/domain/domains/ Done Line 11: marked as "inactive" which means that all the hosts that are already in Line 12: status up reported them as problematic (therefore there's no need to Line 13: prevent "new" hosts from being activated). Line 14: Line 14: Line 15: In case that we have an inactive domain that we failed to connect to Line 16: it's storage server we won't have the link for that domain and we won't Line 17: be able to produce it (as the mount was possible unavailable when we Line 18: attempted to connect to the storage server). > possible add a reference to the corresponding VDSM bug? there's no vdsm bug for that (perhaps the vdsm connection management RFE..but not sure if we should add that RFE here) Line 19: If the connectivity to that domain will return, host that was already Line 20: active before might report that he has access to the domain which will Line 21: cause the engine to change that domain's status to "active". The issue Line 22: is that hosts that were activated after the connectivity was lost would http://gerrit.ovirt.org/#/c/27523/2/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceVdsCommand.java File backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/MaintenanceVdsCommand.java: Line 229: EngineLock lock = new EngineLock(Collections.singletonMap(vds.getId().toString(), Line 230: new Pair<>(LockingGroup.VDS_POOL_AND_STORAGE_CONNECTIONS.toString(), Line 231: VdcBllMessages.ACTION_TYPE_FAILED_OBJECT_LOCKED.toString())), null); Line 232: try { Line 233: LockManagerFactory.getLockManager().acquireLockWait(lock); > This seems like the correct place to take this lock, but please document wh Done Line 234: clearDomainCache(vds); Line 235: Line 236: StoragePool storage_pool = DbFacade.getInstance() Line 237: .getStoragePoolDao() http://gerrit.ovirt.org/#/c/27523/2/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java File backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsBrokerCommand.java: Line 1296: List<Guid> domainsUnreachableByHost = new LinkedList<>(); Line 1297: for (Map.Entry<Guid, DomainMonitoringResult> entry : domainsInProblem.entrySet()) { Line 1298: Guid domainId = entry.getKey(); Line 1299: DomainMonitoringResult domainMonitoringResult = entry.getValue(); Line 1300: HashSet<Guid> hostsReportedDomainAsProblematic = _domainsInProblem.get(domainId); > can we get less confusing names than [domainsInProblem,_domainsInProblem] Done Line 1301: boolean domainNotFound = domainMonitoringResult == DomainMonitoringResult.STORAGE_ACCCESS_ERROR; Line 1302: if (domainNotFound) { Line 1303: domainsUnreachableByHost.add(domainId); Line 1304: } Line 1319: Line 1320: if (domainsUnreachableByHost.isEmpty()) { Line 1321: Guid clearedReport = clearVdsReportInfoOnUnseenDomain(vdsId); Line 1322: if (clearedReport != null) Line 1323: log.infoFormat("Host {0} no longer storage access problem to any relevant domain " + > indentation, brackets. it's indented, where do you want me to add brackets? Line 1324: " clearing it's report (report id: {1})", Line 1325: vdsId, Line 1326: clearedReport); Line 1327: } else if (newDomainUnreachableByHost) { -- To view, visit http://gerrit.ovirt.org/27523 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: Idb7b2fe8c87805986aaf25cd0f24f605d67d4186 Gerrit-PatchSet: 2 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Liron Aravot <lara...@redhat.com> Gerrit-Reviewer: Allon Mureinik <amure...@redhat.com> Gerrit-Reviewer: Daniel Erez <de...@redhat.com> Gerrit-Reviewer: Federico Simoncelli <fsimo...@redhat.com> Gerrit-Reviewer: Liron Aravot <lara...@redhat.com> Gerrit-Reviewer: Maor Lipchuk <mlipc...@redhat.com> Gerrit-Reviewer: Oved Ourfali <oourf...@redhat.com> Gerrit-Reviewer: Roy Golan <rgo...@redhat.com> Gerrit-Reviewer: Tal Nisan <tni...@redhat.com> Gerrit-Reviewer: automat...@ovirt.org Gerrit-Reviewer: oVirt Jenkins CI Server Gerrit-HasComments: Yes _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches