CIM naming
----------
As you can see, the nice names "configs", "devices", "routes",
etc. are gone. Welcome to CIM!
WORK-IN-PROGRESS: the REST aspect is not covered now, because the way
CIM composes the data using subclassed associations makes it hard to
figure out, and below are only guesses. A Confusingly Irritating Model :-)
note to XML:
- I use the usual ruby attributes like type=array/boolean.
- Additionally I use <Foo value='80'>HTTP</> to combine CIM
enumerations (Value+ValueMap)
- CIM is CamelCase. We may want to adapt_it_to_ruby
CIM_NetworkPort means "network interface", not a "(TCP/IP )protocol
port"
(hierarchy: EthernetPort: NetworkPort: LogicalPort: LogicalDevice:
EnabledLogicalElement: LogicalElement: ManagedSystemElement: ManagedElement)
/NetworkPort/eth0
<EthernetPort>
<!-- LogicalDevice -->
<DeviceID>eth0</> <!-- key -->
<!-- NetworkPort -->
<NetworkAddresses>
<item>112233445566</>
<item>aabbccffeeff</>
</>
<LinkTechnology value='2'>Ethernet</>
<!-- EthernetPort -->
<Capabilities type='array'>
<item value='3'>WakeOnLan</>
</>
<EnabledCapabilities type='array' /> <!-- empty -->
</>
LogicalDevice has a m:n Realizes association with Core:PhysicalElement, not
sure how to model it in REST
<PhysicalElement>
<Manufacturer>Realtek Semiconductor Co., Ltd.</>
<Model>RTL-8169 Gigabit Ethernet</>
...
</>
IPProtocolEndpoint: Core:ProtocolEndpoint:
<IPProtocolEndpoint>
<IPv4Address>1.2.3.4</>
<SubnetMask>255.255.255.0</>
<AddressOrigin value="4">DHCP</> <!-- "Static",
"DHCP", "BOOTP", "IPv4 Link Local", "DHCPv6",
"IPv6AutoConfig" -->
</>
<IPProtocolEndpoint>
<IPv6Address>1:2:3::4</>
<PrefixLength>64</>
<AddressOrigin value="8">IPv6AutoConfig</>
</>
interface configuration
-----------------------
(IPAssignmentSettingData : SettingData: ManagedElement)
/IPAssignmentSettingData/eth0
<IPAssignmentSettingData>
<AddressOrigin value='4'>DHCP</>
</>
/IPAssignmentSettingData/eth0
<StaticIPAssignmentSettingData>
<AddressOrigin value='3'>Static</>
<IPv4Address>10.20.30.40</>
<SubnetMask>255.255.0.0</>
<GatewayIPv4Address>10.20.7.254</> <!-- default route -->
</>
(WiFi is too new (Jun 2009):
http://www.dmtf.org/standards/published_documents/DSP1088_1.0.0.pdf
)
the Association ElementSettingData connects ManagedElement and SettingData
(compare NetworkManager's ActiveConnection)
<ElementSettingData>
<ManagedElement>/IPProtocolEndpoint/1</>
<SettingData>/IPAssignmentSettingData/eth0</>
<IsDefault value="1">Is Default</> <!--0:Unknown, 2:Is Not Default -->
<IsCurrent value="1">Is Current</>
</>
TODO! how is all this bound to /NetworkPort/eth0?
SAPSAPDependency?
ActiveConnection?
resolver (DNS client) configuration
-----------------------------------
(NETCONFIG_DNS_STATIC_SERVERS)
/DNSSettingData
<DNSSettingData>
<AddressOrigin value='3'>Static</>
<DNSServerAddresses type='array'> <!-- CIM: string[] -->
<item>10.20.0.2</>
<item>10.20.0.8</>
</>
</>
(NETCONFIG_DNS_STATIC_SEARCHLIST)
/DNSGeneralSettingData
<DNSGeneralSettingData>
<AddressOrigin value='3'>Static</>
<AppendParentSuffixes type="boolean">true</>
<DNSSuffixesToAppend type="array">
<item>suse.cz</>
<item>suse.de</>
</>
</>
(BTW it seems that netconfig does not enable dissassociating AddressOrigin
for these two)
/DNSSettingData
<DNSSettingData>
<AddressOrigin value='4'>DHCP</>
</>
/DNSGeneralSettingData
<DNSGeneralSettingData>
<AddressOrigin value='4'>DHCP</>
</>
(TODO: Virtual Devices, in case you haven't had enough)
--
Martin Vidner, YaST developer
http://en.opensuse.org/User:Mvidner
Kuracke oddeleni v restauraci je jako fekalni oddeleni v bazenu
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]