Scott Seago
2009-Jul-16 19:43 UTC
[Ovirt-devel] [PATCH server] add network QMF apis. (still in progress)
This isn't yet functional, but I'm submitting the patch so Ian can
continue work on it.
Signed-off-by: Scott Seago <sseago at redhat.com>
---
.../lib/ovirt/controllers/network_controller.rb | 26 ++++++++++++++++++++
.../physical_network_impl_controller.rb | 10 +++++++
.../lib/ovirt/controllers/vlan_impl_controller.rb | 9 +++++++
src/ovirt-agent/ovirt_api.xml | 12 +++++++++
4 files changed, 57 insertions(+), 0 deletions(-)
create mode 100644 src/ovirt-agent/lib/ovirt/controllers/network_controller.rb
create mode 100644
src/ovirt-agent/lib/ovirt/controllers/physical_network_impl_controller.rb
create mode 100644
src/ovirt-agent/lib/ovirt/controllers/vlan_impl_controller.rb
diff --git a/src/ovirt-agent/lib/ovirt/controllers/network_controller.rb
b/src/ovirt-agent/lib/ovirt/controllers/network_controller.rb
new file mode 100644
index 0000000..dd6b4e5
--- /dev/null
+++ b/src/ovirt-agent/lib/ovirt/controllers/network_controller.rb
@@ -0,0 +1,26 @@
+module Ovirt
+
+ class NetworkController < AgentController
+
+ include NetworkService
+
+ def find(id)
+ svc_show(id)
+ render(@network)
+ end
+
+ def list
+ puts "query for Network class!"
+ svc_list
+ @networks.collect { |network| render(network) }
+ end
+
+ def render(network)
+ puts "calling to_qmf on #{pool}, #{pool.name}"
+ obj = to_qmf(network, :propmap => { :proto => nil})
+ obj.proto = network.boot_type.label
+ return obj
+ end
+
+ end
+end
diff --git
a/src/ovirt-agent/lib/ovirt/controllers/physical_network_impl_controller.rb
b/src/ovirt-agent/lib/ovirt/controllers/physical_network_impl_controller.rb
new file mode 100644
index 0000000..456b4e9
--- /dev/null
+++ b/src/ovirt-agent/lib/ovirt/controllers/physical_network_impl_controller.rb
@@ -0,0 +1,10 @@
+module Ovirt
+
+ class PhysicalNetworkImplController < NetworkController
+
+ <!-- FIXME: NICs ref needed once the VM/Host NIC model is finalized
-->
+ def render(network)
+ super(network)
+ end
+ end
+end
diff --git a/src/ovirt-agent/lib/ovirt/controllers/vlan_impl_controller.rb
b/src/ovirt-agent/lib/ovirt/controllers/vlan_impl_controller.rb
new file mode 100644
index 0000000..4cbb7d8
--- /dev/null
+++ b/src/ovirt-agent/lib/ovirt/controllers/vlan_impl_controller.rb
@@ -0,0 +1,9 @@
+module Ovirt
+
+ class VlanImplController < NetworkController
+ <!-- FIXME: Bondings ref needed once Bondings are added to the API
-->
+ def render(network)
+ super(network)
+ end
+ end
+end
diff --git a/src/ovirt-agent/ovirt_api.xml b/src/ovirt-agent/ovirt_api.xml
index a5aa383..8eb7ef2 100644
--- a/src/ovirt-agent/ovirt_api.xml
+++ b/src/ovirt-agent/ovirt_api.xml
@@ -73,12 +73,24 @@
</doc:desc>
<property name="name" type="sstr" desc="The
name of the network"/>
<property name="proto" type="sstr" desc="The
boot protocol on this network, one of 'static', 'dhcp' or
'bootp'"/>
+ <!-- FIXME: What about IP addresses, usages, and VMs references -->
<method name="create_vm_nic_def" desc="Create a new NIC
for a VM">
<arg name="mac" type="sstr" dir="I"
desc="The MAC address for the new NIC"/>
<arg name="nic" dir="O" type="objId"
references="VmNicDef" desc="Newly created VM NIC"/>
</method>
</class>
+ <!-- FIXME: This needs to use inheritance when QMF infrastructure is
available -->
+ <class name="VlanImpl">
+ <property name="network" type="objId"
references="Network" access="RC" desc="Reference to the
network this implementation is for."/>
+ <property name="number" type="uint32"
access="RW" desc="VLAN Number"/>
+ <!-- FIXME: Bondings ref needed once Bondings are added to the API
-->
+ </class>
+ <class name="PhysicalNetworkImpl">
+ <property name="network" type="objId"
references="Network" access="RC" desc="Reference to the
network this implementation is for."/>
+ <!-- FIXME: NICs ref needed once the VM/Host NIC model is finalized
-->
+ </class>
+
<class name="VmNicDef">
<doc:desc>
The virtual NIC of a VM; ties a MAC address to a logical network
--
1.6.0.6
Apparently Analagous Threads
- [PATCH server] Add network QMF apis.
- [PATCH server] consolidated network & routing info ui's
- [PATCH server] don't add nil key to failures hash for PartialSuccessError handling.
- [PATCH server] use service layer for Network controller.
- [PATCH matahari] Created the NetworkDevice agent.
