Remove Path Intent
diff --git a/cli/src/main/java/org/onlab/onos/cli/net/IntentsListCommand.java b/cli/src/main/java/org/onlab/onos/cli/net/IntentsListCommand.java
index ad17290..a7d260d 100644
--- a/cli/src/main/java/org/onlab/onos/cli/net/IntentsListCommand.java
+++ b/cli/src/main/java/org/onlab/onos/cli/net/IntentsListCommand.java
@@ -4,6 +4,7 @@
import org.onlab.onos.cli.AbstractShellCommand;
import org.onlab.onos.net.intent.Intent;
import org.onlab.onos.net.intent.IntentService;
+import org.onlab.onos.net.intent.IntentState;
/**
* Lists the inventory of intents and their states.
@@ -16,7 +17,8 @@
protected void execute() {
IntentService service = get(IntentService.class);
for (Intent intent : service.getIntents()) {
- print("%s", intent);
+ IntentState state = service.getIntentState(intent.getId());
+ print("%s %s %s", intent.getId(), state, intent);
}
}
diff --git a/cli/src/main/java/org/onlab/onos/cli/net/RemoveHostToHostIntentCommand.java b/cli/src/main/java/org/onlab/onos/cli/net/RemoveHostToHostIntentCommand.java
new file mode 100644
index 0000000..1840c0d
--- /dev/null
+++ b/cli/src/main/java/org/onlab/onos/cli/net/RemoveHostToHostIntentCommand.java
@@ -0,0 +1,37 @@
+package org.onlab.onos.cli.net;
+
+import org.apache.karaf.shell.commands.Argument;
+import org.apache.karaf.shell.commands.Command;
+import org.onlab.onos.cli.AbstractShellCommand;
+import org.onlab.onos.net.intent.Intent;
+import org.onlab.onos.net.intent.IntentId;
+import org.onlab.onos.net.intent.IntentService;
+
+/**
+ * Removes host-to-host connectivity intent.
+ */
+@Command(scope = "onos", name = "remove-host-intent",
+ description = "Removes host-to-host connectivity intent")
+public class RemoveHostToHostIntentCommand extends AbstractShellCommand {
+
+ @Argument(index = 0, name = "id", description = "Intent ID",
+ required = true, multiValued = false)
+ String id = null;
+
+ @Override
+ protected void execute() {
+ IntentService service = get(IntentService.class);
+
+ int radix = id.startsWith("0x") ? 16 : 10;
+ if (radix == 16) {
+ id = id.replaceFirst("0x", "");
+ }
+ IntentId intentId = new IntentId(Long.parseLong(id, radix));
+
+
+ Intent intent = service.getIntent(intentId);
+ if (intent != null) {
+ service.withdraw(intent);
+ }
+ }
+}
diff --git a/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml b/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
index f0516f7..17a9e29 100644
--- a/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
+++ b/cli/src/main/resources/OSGI-INF/blueprint/shell-config.xml
@@ -64,6 +64,9 @@
</completers>
</command>
<command>
+ <action class="org.onlab.onos.cli.net.RemoveHostToHostIntentCommand"/>
+ </command>
+ <command>
<action class="org.onlab.onos.cli.net.IntentsListCommand"/>
</command>