use of org.onosproject.kubevirtnode.api.KubevirtApiConfig in project onos by opennetworkinglab.
the class KubevirtApiConfigCodecTest method getKubevirtApiConfig.
private KubevirtApiConfig getKubevirtApiConfig(String resourceName) throws IOException {
InputStream jsonStream = KubevirtNodeCodecTest.class.getResourceAsStream(resourceName);
JsonNode json = context.mapper().readTree(jsonStream);
assertThat(json, notNullValue());
KubevirtApiConfig config = kubevirtApiConfigCodec.decode((ObjectNode) json, context);
assertThat(config, notNullValue());
return config;
}
use of org.onosproject.kubevirtnode.api.KubevirtApiConfig in project onos by opennetworkinglab.
the class KubevirtApiConfigWebResource method deleteApiConfig.
/**
* Removes a KubeVirt API config.
*
* @param endpoint KubeVirt API endpoint
* @return 204 NO_CONTENT, 400 BAD_REQUEST if the JSON is malformed
*/
@DELETE
@Path("{endpoint : .+}")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response deleteApiConfig(@PathParam("endpoint") String endpoint) {
log.trace(String.format(MESSAGE_CONFIG, REMOVE));
KubevirtApiConfigAdminService service = get(KubevirtApiConfigAdminService.class);
KubevirtApiConfig existing = service.apiConfig();
if (existing == null) {
log.warn("There is no API configuration to delete");
return Response.notModified().build();
} else {
if (endpoint.equals(endpoint(existing))) {
service.removeApiConfig(endpoint);
} else {
log.warn("There is no API configuration to delete for endpoint {}", endpoint);
}
}
return Response.noContent().build();
}
use of org.onosproject.kubevirtnode.api.KubevirtApiConfig in project onos by opennetworkinglab.
the class KubevirtApiConfigWebResource method readApiConfig.
private KubevirtApiConfig readApiConfig(InputStream input) {
KubevirtApiConfig config;
try {
JsonNode jsonTree = readTreeFromStream(mapper().enable(INDENT_OUTPUT), input);
ObjectNode objectNode = jsonTree.deepCopy();
config = codec(KubevirtApiConfig.class).decode(objectNode, this);
} catch (Exception e) {
throw new IllegalArgumentException(e);
}
return config;
}
use of org.onosproject.kubevirtnode.api.KubevirtApiConfig in project onos by opennetworkinglab.
the class KubevirtListApiConfigsCommand method doExecute.
@Override
protected void doExecute() throws Exception {
KubevirtApiConfigService service = get(KubevirtApiConfigService.class);
KubevirtApiConfig config = service.apiConfig();
if (outputJson()) {
print("%s", json(config));
} else {
print(FORMAT, "Scheme", "Server IP", "Port", "Controller IP", "State");
String controllerIp = "N/A";
if (config != null) {
if (config.controllerIp() != null) {
controllerIp = config.controllerIp().toString();
}
print(FORMAT, config.scheme().name(), config.ipAddress().toString(), config.port(), controllerIp, config.state().name());
} else {
print("Kubevirt config not found!");
}
}
}
use of org.onosproject.kubevirtnode.api.KubevirtApiConfig in project onos by opennetworkinglab.
the class KubevirtNodeWebResource method healthz.
/**
* Returns the health check result.
*
* @return 200 OK with health check result, 404 not found
*/
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("healthz")
public Response healthz() {
KubevirtApiConfigService configService = get(KubevirtApiConfigService.class);
KubevirtNodeService nodeService = get(KubevirtNodeService.class);
// TODO: we need to add more health check items
boolean allInit = true;
KubevirtApiConfig config = configService.apiConfig();
if (nodeService.nodes().size() == 0) {
allInit = false;
} else {
for (KubevirtNode node : nodeService.nodes()) {
if (node.state() != INIT) {
allInit = false;
}
}
}
String result = ERROR;
if (config != null && !allInit) {
result = OK;
}
ObjectNode jsonResult = mapper().createObjectNode();
jsonResult.put(API_CONFIG, result);
return ok(jsonResult).build();
}
Aggregations