Make storageClass for runner data configurable.
This commit is contained in:
parent
9745e854f7
commit
d2eea50093
4 changed files with 36 additions and 1 deletions
|
|
@ -3,3 +3,5 @@
|
||||||
"/Manager":
|
"/Manager":
|
||||||
"/Controller":
|
"/Controller":
|
||||||
namespace: vmop-dev
|
namespace: vmop-dev
|
||||||
|
runnerData:
|
||||||
|
storageClassName: null
|
||||||
|
|
|
||||||
10
org.jdrupes.vmoperator.manager/config-sample.yaml
Normal file
10
org.jdrupes.vmoperator.manager/config-sample.yaml
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
# The values in comments are the defaults.
|
||||||
|
|
||||||
|
"/Manager":
|
||||||
|
"/Controller":
|
||||||
|
# Values used when creating the PVC for the runner's data
|
||||||
|
runnerData:
|
||||||
|
storageClassName: null
|
||||||
|
|
||||||
|
# Only for development:
|
||||||
|
# namespace: vmop-dev
|
||||||
|
|
@ -30,7 +30,7 @@ spec:
|
||||||
- name: ${ cr.metadata.name.asString }
|
- name: ${ cr.metadata.name.asString }
|
||||||
<#assign image = cr.spec.image>
|
<#assign image = cr.spec.image>
|
||||||
<#if image.source??>
|
<#if image.source??>
|
||||||
image: ${ source.asString }
|
image: ${ image.source.asString }
|
||||||
<#else>
|
<#else>
|
||||||
image: ${ image.repository.asString }/${ image.path.asString }<#if image.version??>:${ image.version.asString }</#if>
|
image: ${ image.repository.asString }/${ image.path.asString }<#if image.version??>:${ image.version.asString }</#if>
|
||||||
</#if>
|
</#if>
|
||||||
|
|
@ -101,6 +101,9 @@ spec:
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
- ReadWriteOnce
|
- ReadWriteOnce
|
||||||
|
<#if config.runnerData?? && config.runnerData.storageClassName??>
|
||||||
|
storageClassName: ${ config.runnerData.storageClassName }
|
||||||
|
</#if>
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: 1Mi
|
storage: 1Mi
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,9 @@ import org.jdrupes.vmoperator.manager.VmDefChanged.Type;
|
||||||
import org.jdrupes.vmoperator.util.ExtendedObjectWrapper;
|
import org.jdrupes.vmoperator.util.ExtendedObjectWrapper;
|
||||||
import org.jgrapes.core.Channel;
|
import org.jgrapes.core.Channel;
|
||||||
import org.jgrapes.core.Component;
|
import org.jgrapes.core.Component;
|
||||||
|
import org.jgrapes.core.Components;
|
||||||
import org.jgrapes.core.annotation.Handler;
|
import org.jgrapes.core.annotation.Handler;
|
||||||
|
import org.jgrapes.util.events.ConfigurationUpdate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Adapts Kubenetes resources to changes in VM definitions (CRs).
|
* Adapts Kubenetes resources to changes in VM definitions (CRs).
|
||||||
|
|
@ -54,6 +56,8 @@ public class Reconciler extends Component {
|
||||||
private final CmReconciler cmReconciler;
|
private final CmReconciler cmReconciler;
|
||||||
private final StsReconciler stsReconciler;
|
private final StsReconciler stsReconciler;
|
||||||
private final ServiceReconciler serviceReconciler;
|
private final ServiceReconciler serviceReconciler;
|
||||||
|
@SuppressWarnings("PMD.UseConcurrentHashMap")
|
||||||
|
private final Map<String, Object> config = new HashMap<>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Instantiates a new reconciler.
|
* Instantiates a new reconciler.
|
||||||
|
|
@ -78,6 +82,21 @@ public class Reconciler extends Component {
|
||||||
serviceReconciler = new ServiceReconciler(fmConfig);
|
serviceReconciler = new ServiceReconciler(fmConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configure the component.
|
||||||
|
*
|
||||||
|
* @param event the event
|
||||||
|
*/
|
||||||
|
@Handler
|
||||||
|
public void onConfigurationUpdate(ConfigurationUpdate event) {
|
||||||
|
event.structured(Components.manager(parent()).componentPath())
|
||||||
|
.ifPresent(c -> {
|
||||||
|
if (c.containsKey("runnerData")) {
|
||||||
|
config.put("runnerData", c.get("runnerData"));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles the change event.
|
* Handles the change event.
|
||||||
*
|
*
|
||||||
|
|
@ -117,6 +136,7 @@ public class Reconciler extends Component {
|
||||||
Configuration.VERSION_2_3_32)
|
Configuration.VERSION_2_3_32)
|
||||||
.build().getStaticModels()
|
.build().getStaticModels()
|
||||||
.get(Constants.class.getName()));
|
.get(Constants.class.getName()));
|
||||||
|
model.put("config", config);
|
||||||
|
|
||||||
// Reconcile
|
// Reconcile
|
||||||
if (event.type() != Type.DELETED) {
|
if (event.type() != Type.DELETED) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue