[PATCH] Add SystemCreationClassName and CreationClassName for SwitchService

# HG changeset patch # User Sharad Mishra <snmishra@us.ibm.com> # Date 1300209608 25200 # Node ID 5e06c520e09e7bada9b851a46c78bb96b947614c # Parent c5239e6e1fef9bfd74e0adca2da5f15e9fe2e734 Add SystemCreationClassName and CreationClassName for SwitchService Added above two properties to SwitchService provider. Signed-off-by: Sharad Mishra <snmishra@us.ibm.com> diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_Device.c --- a/src/Virt_Device.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_Device.c Tue Mar 15 10:20:08 2011 -0700 @@ -77,7 +77,7 @@ return 0; str = CMNewString(broker, dev->mac, &s); - if ((s.rc = CMPI_RC_OK) || (CMIsNullObject(str))) + if ((s.rc != CMPI_RC_OK) || (CMIsNullObject(str))) return 0; CMSetArrayElementAt(array, 0, &str, CMPI_string); diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_HostSystem.c --- a/src/Virt_HostSystem.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_HostSystem.c Tue Mar 15 10:20:08 2011 -0700 @@ -101,7 +101,7 @@ char hostname[256] = {0}; op = CMGetObjectPath(instance, &s); - if ((s.rc == CMPI_RC_OK) || !CMIsNullObject(op)) { + if ((s.rc == CMPI_RC_OK) && !CMIsNullObject(op)) { CMSetProperty(instance, "CreationClassName", (CMPIValue *)CLASSNAME(op), CMPI_chars); } @@ -109,6 +109,7 @@ if (get_fqdn(hostname, sizeof(hostname)) != 0) strcpy(hostname, "unknown"); + CU_DEBUG("hostname is %s", hostname); CMSetProperty(instance, "Name", (CMPIValue *)hostname, CMPI_chars); diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_SettingsDefineCapabilities.c --- a/src/Virt_SettingsDefineCapabilities.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_SettingsDefineCapabilities.c Tue Mar 15 10:20:08 2011 -0700 @@ -1598,7 +1598,7 @@ } str = CMNewString(_BROKER, dev_path, &s); - if ((s.rc = CMPI_RC_OK) || (CMIsNullObject(str))) { + if ((s.rc != CMPI_RC_OK) || (CMIsNullObject(str))) { cu_statusf(_BROKER, &s, CMPI_RC_ERR_FAILED, "Unable to create new string"); diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_SwitchService.c --- a/src/Virt_SwitchService.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_SwitchService.c Tue Mar 15 10:20:08 2011 -0700 @@ -34,6 +34,7 @@ #include "misc_util.h" #include "config.h" +#include "Virt_HostSystem.h" #define MAX_LEN 512 #define CMD "/sbin/ifconfig -a | /bin/grep eth | /bin/awk '{print$1}'" @@ -149,6 +150,41 @@ return arr; } +static CMPIStatus set_inst_properties(const CMPIBroker *broker, + const CMPIContext *context, + const CMPIObjectPath *reference, + CMPIInstance *inst) +{ + CMPIStatus s = {CMPI_RC_OK, NULL}; + const char *name = NULL; + const char *ccname = NULL; + + s = get_host_system_properties(&name, + &ccname, + reference, + broker, + context); + if (s.rc != CMPI_RC_OK) { + cu_statusf(broker, &s, + CMPI_RC_ERR_FAILED, + "Unable to get host attributes"); + goto out; + } + + CMSetProperty(inst, "Name", + (CMPIValue *)"Switch Virtualization Capabilities", + CMPI_chars); + + CMSetProperty(inst, "SystemName", + (CMPIValue *)name, CMPI_chars); + + CMSetProperty(inst, "SystemCreationClassName", + (CMPIValue *)ccname, CMPI_chars); + + out: + return s; +} + static CMPIStatus get_switchservice(const CMPIObjectPath *reference, CMPIInstance **_inst, const CMPIBroker *broker, @@ -188,10 +224,12 @@ goto out; } - CMSetProperty(inst, "Name", - (CMPIValue *)"Switch Virtualization Capabilities", - CMPI_chars); - + s = set_inst_properties(broker, context, reference, inst); + if (s.rc != CMPI_RC_OK) { + CU_DEBUG("Failed to set instance properties"); + goto out; + } + if_list = run_command(CMD, &count, &s); if (if_list == 0) { CU_DEBUG("Failed to get network interfaces");

+1. Was not able to test due to lack of HW. Can you retest on VSI HW with upstream code? Thanks. On 03/15/2011 01:20 PM, Sharad Mishra wrote:
# HG changeset patch # User Sharad Mishra<snmishra@us.ibm.com> # Date 1300209608 25200 # Node ID 5e06c520e09e7bada9b851a46c78bb96b947614c # Parent c5239e6e1fef9bfd74e0adca2da5f15e9fe2e734 Add SystemCreationClassName and CreationClassName for SwitchService
Added above two properties to SwitchService provider.
Signed-off-by: Sharad Mishra<snmishra@us.ibm.com>
diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_Device.c --- a/src/Virt_Device.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_Device.c Tue Mar 15 10:20:08 2011 -0700 @@ -77,7 +77,7 @@ return 0;
str = CMNewString(broker, dev->mac,&s); - if ((s.rc = CMPI_RC_OK) || (CMIsNullObject(str))) + if ((s.rc != CMPI_RC_OK) || (CMIsNullObject(str))) return 0;
CMSetArrayElementAt(array, 0,&str, CMPI_string); diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_HostSystem.c --- a/src/Virt_HostSystem.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_HostSystem.c Tue Mar 15 10:20:08 2011 -0700 @@ -101,7 +101,7 @@ char hostname[256] = {0};
op = CMGetObjectPath(instance,&s); - if ((s.rc == CMPI_RC_OK) || !CMIsNullObject(op)) { + if ((s.rc == CMPI_RC_OK)&& !CMIsNullObject(op)) { CMSetProperty(instance, "CreationClassName", (CMPIValue *)CLASSNAME(op), CMPI_chars); } @@ -109,6 +109,7 @@ if (get_fqdn(hostname, sizeof(hostname)) != 0) strcpy(hostname, "unknown");
+ CU_DEBUG("hostname is %s", hostname); CMSetProperty(instance, "Name", (CMPIValue *)hostname, CMPI_chars);
diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_SettingsDefineCapabilities.c --- a/src/Virt_SettingsDefineCapabilities.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_SettingsDefineCapabilities.c Tue Mar 15 10:20:08 2011 -0700 @@ -1598,7 +1598,7 @@ }
str = CMNewString(_BROKER, dev_path,&s); - if ((s.rc = CMPI_RC_OK) || (CMIsNullObject(str))) { + if ((s.rc != CMPI_RC_OK) || (CMIsNullObject(str))) { cu_statusf(_BROKER,&s, CMPI_RC_ERR_FAILED, "Unable to create new string"); diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_SwitchService.c --- a/src/Virt_SwitchService.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_SwitchService.c Tue Mar 15 10:20:08 2011 -0700 @@ -34,6 +34,7 @@
#include "misc_util.h" #include "config.h" +#include "Virt_HostSystem.h"
#define MAX_LEN 512 #define CMD "/sbin/ifconfig -a | /bin/grep eth | /bin/awk '{print$1}'" @@ -149,6 +150,41 @@ return arr; }
+static CMPIStatus set_inst_properties(const CMPIBroker *broker, + const CMPIContext *context, + const CMPIObjectPath *reference, + CMPIInstance *inst) +{ + CMPIStatus s = {CMPI_RC_OK, NULL}; + const char *name = NULL; + const char *ccname = NULL; + + s = get_host_system_properties(&name, +&ccname, + reference, + broker, + context); + if (s.rc != CMPI_RC_OK) { + cu_statusf(broker,&s, + CMPI_RC_ERR_FAILED, + "Unable to get host attributes"); + goto out; + } + + CMSetProperty(inst, "Name", + (CMPIValue *)"Switch Virtualization Capabilities", + CMPI_chars); + + CMSetProperty(inst, "SystemName", + (CMPIValue *)name, CMPI_chars); + + CMSetProperty(inst, "SystemCreationClassName", + (CMPIValue *)ccname, CMPI_chars); + + out: + return s; +} + static CMPIStatus get_switchservice(const CMPIObjectPath *reference, CMPIInstance **_inst, const CMPIBroker *broker, @@ -188,10 +224,12 @@ goto out; }
- CMSetProperty(inst, "Name", - (CMPIValue *)"Switch Virtualization Capabilities", - CMPI_chars); - + s = set_inst_properties(broker, context, reference, inst); + if (s.rc != CMPI_RC_OK) { + CU_DEBUG("Failed to set instance properties"); + goto out; + } + if_list = run_command(CMD,&count,&s); if (if_list == 0) { CU_DEBUG("Failed to get network interfaces");
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
-- Chip Vincent Open Virtualization IBM Linux Technology Center cvincent@linux.vnet.ibm.com

Chip, I have tested it on VSI hardware. Sharad Mishra Open Virtualization Linux Technology Center IBM Chip Vincent <cvincent@linux.vnet.ibm.com> wrote on 03/15/2011 05:45:01 PM:
Chip Vincent <cvincent@linux.vnet.ibm.com> 03/15/2011 05:45 PM
Please respond to cvincent@linux.vnet.ibm.com
To
List for discussion and development of libvirt CIM <libvirt-cim@redhat.com>
cc
Sharad Mishra/Beaverton/IBM@IBMUS
Subject
Re: [Libvirt-cim] [PATCH] Add SystemCreationClassName and CreationClassName for SwitchService
+1. Was not able to test due to lack of HW. Can you retest on VSI HW with upstream code? Thanks.
On 03/15/2011 01:20 PM, Sharad Mishra wrote:
# HG changeset patch # User Sharad Mishra<snmishra@us.ibm.com> # Date 1300209608 25200 # Node ID 5e06c520e09e7bada9b851a46c78bb96b947614c # Parent c5239e6e1fef9bfd74e0adca2da5f15e9fe2e734 Add SystemCreationClassName and CreationClassName for SwitchService
Added above two properties to SwitchService provider.
Signed-off-by: Sharad Mishra<snmishra@us.ibm.com>
diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_Device.c --- a/src/Virt_Device.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_Device.c Tue Mar 15 10:20:08 2011 -0700 @@ -77,7 +77,7 @@ return 0;
str = CMNewString(broker, dev->mac,&s); - if ((s.rc = CMPI_RC_OK) || (CMIsNullObject(str))) + if ((s.rc != CMPI_RC_OK) || (CMIsNullObject(str))) return 0;
CMSetArrayElementAt(array, 0,&str, CMPI_string); diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_HostSystem.c --- a/src/Virt_HostSystem.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_HostSystem.c Tue Mar 15 10:20:08 2011 -0700 @@ -101,7 +101,7 @@ char hostname[256] = {0};
op = CMGetObjectPath(instance,&s); - if ((s.rc == CMPI_RC_OK) || !CMIsNullObject(op)) { + if ((s.rc == CMPI_RC_OK)&& !CMIsNullObject(op)) { CMSetProperty(instance, "CreationClassName", (CMPIValue *)CLASSNAME(op), CMPI_chars); } @@ -109,6 +109,7 @@ if (get_fqdn(hostname, sizeof(hostname)) != 0) strcpy(hostname, "unknown");
+ CU_DEBUG("hostname is %s", hostname); CMSetProperty(instance, "Name", (CMPIValue *)hostname, CMPI_chars);
diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_SettingsDefineCapabilities.c --- a/src/Virt_SettingsDefineCapabilities.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_SettingsDefineCapabilities.c Tue Mar 15 10:20:08 2011 -0700 @@ -1598,7 +1598,7 @@ }
str = CMNewString(_BROKER, dev_path,&s); - if ((s.rc = CMPI_RC_OK) || (CMIsNullObject (str))) { + if ((s.rc != CMPI_RC_OK) || (CMIsNullObject(str))) { cu_statusf(_BROKER,&s, CMPI_RC_ERR_FAILED, "Unable to create newstring"); diff -r c5239e6e1fef -r 5e06c520e09e src/Virt_SwitchService.c --- a/src/Virt_SwitchService.c Mon Mar 14 08:04:37 2011 -0700 +++ b/src/Virt_SwitchService.c Tue Mar 15 10:20:08 2011 -0700 @@ -34,6 +34,7 @@
#include "misc_util.h" #include "config.h" +#include "Virt_HostSystem.h"
#define MAX_LEN 512 #define CMD "/sbin/ifconfig -a | /bin/grep eth | /bin/awk '{print $1}'" @@ -149,6 +150,41 @@ return arr; }
+static CMPIStatus set_inst_properties(const CMPIBroker *broker, + const CMPIContext *context, + const CMPIObjectPath *reference, + CMPIInstance *inst) +{ + CMPIStatus s = {CMPI_RC_OK, NULL}; + const char *name = NULL; + const char *ccname = NULL; + + s = get_host_system_properties(&name, +&ccname, + reference, + broker, + context); + if (s.rc != CMPI_RC_OK) { + cu_statusf(broker,&s, + CMPI_RC_ERR_FAILED, + "Unable to get host attributes"); + goto out; + } + + CMSetProperty(inst, "Name", + (CMPIValue *)"Switch Virtualization Capabilities", + CMPI_chars); + + CMSetProperty(inst, "SystemName", + (CMPIValue *)name, CMPI_chars); + + CMSetProperty(inst, "SystemCreationClassName", + (CMPIValue *)ccname, CMPI_chars); + + out: + return s; +} + static CMPIStatus get_switchservice(const CMPIObjectPath *reference, CMPIInstance **_inst, const CMPIBroker *broker, @@ -188,10 +224,12 @@ goto out; }
- CMSetProperty(inst, "Name", - (CMPIValue *)"Switch Virtualization Capabilities", - CMPI_chars); - + s = set_inst_properties(broker, context, reference, inst); + if (s.rc != CMPI_RC_OK) { + CU_DEBUG("Failed to set instance properties"); + goto out; + } + if_list = run_command(CMD,&count,&s); if (if_list == 0) { CU_DEBUG("Failed to get network interfaces");
_______________________________________________ Libvirt-cim mailing list Libvirt-cim@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-cim
-- Chip Vincent Open Virtualization IBM Linux Technology Center cvincent@linux.vnet.ibm.com
participants (2)
-
Chip Vincent
-
Sharad Mishra