Projekt OpenLMI si klade za cíl vytvořit jednotnou infrastrukturu pro správu linuxových systémů za použití otevřených standardů. Přednáška se bude zabývat představením tohoto projektu, úvodem do použitých standardů a dále návrhem rozhraní pro správu sítí a jeho implementací.
http://dmtf.org/standards/profiles
tenkávrstva pro překlad mezi API NetworkManageru a CIMem
CIM_IPNetworkConnection
– síťové rozhraníCIM_IPProtocolEndpoint
– koncový bod (= IP adresa)CIM_RemoteServiceAccessPoint
– funkce poskytnutá jiným systémem (Gateway, DNS server, DHCP server, …)CIM_IPAssignmentSettingData
– nadtřída pro jednotlivá nastavení
CIM_DHCPSettingData
CIM_ExtendedStaticIPAssignmentSettingData
CIM_DNSSettingData
CIM_IPConfigurationService
ApplySettingToIPNetworkConnection
CIM_IPAssignmentSettingData
na CIM_IPNetworkConnection
Mode
– enumerace určující hodnoty IsCurrent a IsNextLMI_CreateIPSetting
třídy CIM_IPNetworkConnectionCapabilities
CIM_IPAssignmentSettingData
for ethernetPort in c.root.cimv2.LMI_EthernetPort.instances():
print ethernetPort.DeviceID, ethernetPort.PermanentAddress
port = 'eth1'
ipnetworkconnection = c.root.cimv2.LMI_IPNetworkConnection.\
first_instance(Key='Name', Value=port)
for assoc in ipnetworkconnection.associators():
if assoc.classname == "LMI_IPProtocolEndpoint":
if assoc.ProtocolIFType in [4096, 4098]:
# IPv4
print "%s/%s" % (assoc.IPv4Address, assoc.SubnetMask)
if assoc.ProtocolIFType in [4097, 4098]:
# IPv6
print "%s/%d" % (assoc.IPv6Address, assoc.PrefixLength)