Jan Safranek
92dc159ab6
Delete provisioned volumes that are not needed.
...
We should delete volumes that are provisioned for a claim and the claim
gets bound to different volume during the provisioning.
2016-05-18 10:06:51 +02:00
Jan Safranek
514d595881
provisioning: Implement provisioner
2016-05-18 10:06:51 +02:00
Jan Safranek
dd7890c362
delete: Implement Deleter
2016-05-18 10:06:51 +02:00
Jan Safranek
22e68d4622
recycler: unit tests
...
- Add reclaim policy to newVolume() call.
- Implement reactor Volumes().Get().
- Implement mock volume plugin.
- Add recycler tests.
- Add a synchronization condition to controller.scheduleOperation
- we need to pause the controller here, let the test to do some bad things
to the controller and test error cases in recycleVolumeOperation.
Test framework gets more and more complicated... But this is the last piece,
I promise.
2016-05-18 10:06:24 +02:00
Jan Safranek
a08d826ca5
Make a separate functions to emit events and change status.
...
These two seem to be always used together.
2016-05-18 10:06:24 +02:00
Jan Safranek
1feb346830
recycler: implement recycler
...
Also update the old unit test to pass. New unit tests will be added in
subsequent commit.
2016-05-18 10:06:24 +02:00
Jan Safranek
cf68370371
recycler: Maintain a list of long-running operations.
...
We need to keep list of running recyclers, deleters and provisioners in
memory in order not to start a new recycling/deleting/provisioning twice
for the same volume/claim.
This will be eventually replaced by GoRoutineMap from PR #24838 .
2016-05-18 10:06:24 +02:00
Jan Safranek
4e47f69cba
recycler: Implement volume host interfaces.
...
We need the controller to implement volume.VolumeHost interface to be able
to call recycle plugins.
2016-05-18 10:06:24 +02:00
Jan Safranek
a17f0d5949
Move release logic to standalone function.
2016-05-18 10:06:23 +02:00
Jan Safranek
af295719f6
Add events.
2016-05-17 15:14:11 +02:00
Jan Safranek
61019b2401
Process deleted PVs
...
To speed up marking claims as "lost".
2016-05-17 15:14:10 +02:00
Jan Safranek
f4f252e81c
Implement syncVolume.
2016-05-17 15:14:08 +02:00
Jan Safranek
5949b956f5
Implement syncClaim with bound claims.
2016-05-17 15:14:06 +02:00
Jan Safranek
eff6b50b93
Bind unbound claims in syncClaim.
2016-05-17 15:14:06 +02:00
Jan Safranek
a195802d3e
Make standalone function to check for (pre-)bound volumes.
...
Note the semantic change, we now check for UID=""
2016-05-17 15:14:04 +02:00
Jan Safranek
20305f9235
Don't process events until fully initialized.
...
We do not want to process any volume / claim events until both PV and claim
caches are fully loaded.
2016-05-17 15:14:03 +02:00
Jan Safranek
71aa892a86
Implement volume controller skeleton.
...
This is a simple controller that watches changes of PersistentVolumes and
PersistentVolumeClaims.
2016-05-17 15:14:02 +02:00