RENCI-NRIG / orca5

ORCA5 Software
Eclipse Public License 1.0
2 stars 1 forks source link

Br223 without ossrh #224

Closed kthare10 closed 5 years ago

kthare10 commented 5 years ago

Code changes to address issue: https://github.com/RENCI-NRIG/orca5/issues/223

Problem Description: Adding first stitchport via modify slice is successful but results in broken manifest All subsequent modifies fail

Root Cause Manifest is missing properties for StitchPort, Link and interface object

Missing properties for StitchPort and Link Object For createSlice, requestModel is added to the manifest before any embedding logic is invoked or manifest is generated in RequestWorkflow::run(). So when ModifyHandler::createManifest() is invoked, element StitchPort and Link already exists and have interfaces, ModifyHandler::createManifest() just adds properties to the existing elements.

However, in case of modifySlice, requestModel is not added to the manifest. So when ModifyHandler::createManifest() is invoked, element StitchPort and Link do not exist, ModifyHandler::createManifest() only adds some properties to the elements and the properties which are assumed to be propagated from request are missing.

Missing properties for Interface object ReservationConverter::setDependency() which is invoked only for createSlice or for added elements via modifySlice. For modified reservations, ReservationConverter::modifyReservations() is being invoked and this function does not set the GUID and hostInterfaceName.

Fix StitchPort and Link object in case of modify are being copied from the request Interface object GUID is being set at the creation of interface instead of setDependency

Additional Issues During the testing of the above fix, I noticed that deleting a StitchPort via modifySlice does not clear the controllerAssignedLabel set and manifest. This prevents re-adding a stitchport with same label.

Fix Clearing slice local controllerAssignedLabel in SyncTags thread Removed all the interfaces when updating manifest for a delete instead of removing only one interface

NOTE: This branch does not contain OSSRH changes. I am facing problems with running code with OSSRH changes with SOAP interface. I working to resolve that. I may have to submit this code without OSSRH changes if SOAP issue is not resolved.