Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products

WSMANin tutkiminen luetteloinnin ulkopuolella

Summary: Dellin käyttöjärjestelmä- ja sovellusratkaisut Dell TechCenterissä – Project Sputnik, Microsoft Windows, Red Hat Linux, SUSE, Ubuntu ja niin edelleen

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

WSMAN on valittu Dell iDRACin hallinta-API:ksi. Järjestelmän etähallinnasta tehdään parhaillaan kattavaa ja helppoa. Vietin äskettäin jonkin aikaa WSMAN-protokollan ymmärtämiseen laajennuksen toteuttamiseksi ja alkuperäisen wsman-luettelointitoiminnon jälkeen WSMAN-protokolla muuttuu hieman karvaiseksi. Ei ole helppoa dokumentaatiota/esimerkkejä siitä, miten get/put/create/delete/custom -toiminnot käynnistetään oikeilla avainominaisuuksilla.  Näiden tietojen ensisijainen lähde on DMTF: n WSMAN-spesifikaatio ja WSMAN-CIM-sitova spesifikaatio, joita on tuskallisen pitkä seurata. Suurin osa tämän artikkelin sisällöstä on peräisin DMTF-määritysasiakirjoista. Tämä on yritys tehdä tiedoista helposti sulavia joidenkin esimerkkien avulla (Linuxissa).

 Olen jo lähettänyt valkoisen kirjan SFCB: n ja openwsmanin käytön aloittamisesta osoitteessa https://linux.dell.com/files/whitepapers/WBEM_based_management_in_Linux.pdf. Jos olet uusi WSMAN / SFCB: ssä, pdf olisi parempi lähtökohta kuin tämä artikkeli. Kuten yllä olevassa valkoisessa kirjassa, käsittelemme tässä artikkelissa ensisijaisesti openwsman- ja SFCB CIMOM -toteutuksia.

 Nyt, kun otetaan huomioon WSMAN-palvelin, onko mahdollista luetella kaikki komponentit, joita wsman API hallitsee? Suurin osa WSMAN-palvelimista keskustelee CIMOM: n kanssa taustalla ja paljastaa CIMOM: ien hallintatoiminnot. Tämä tarkoittaa, että WSMAN-palvelimen hallintaominaisuudet riippuvat CIM-palveluntarjoajista, jotka on rekisteröity CIMOM: iin taustalla. CIMOMilla on luontainen toiminto nimellä EnumerateClassNames , jota voidaan kutsua luettelemaan kaikki CIMOMiin rekisteröidyt luokat.

Cause

Koska WSMAN-määrityksessä ei ole yksi-yhteen-kartoitusta EnumerateClassNames-funktiolle , tätä menetelmää käytetään kuten mitä tahansa muuta mukautettua funktiota WSMAN:ssa. Huomaa, että tämä on toteutuskohtaista ja koskee wsmancli-toteutusta. Tämä voi olla erilainen tai päivitetty tulevissa versioissa.

Resolution

CIMOMin sisäistä EnumerateClassNames-funktiota voidaan kutsua wsmanclilla seuraavasti:
wsman invoke -a EnumerateClassNames --hostname=test_host --port=5985 --username=abc --password=password http://schemas.openwsman.org/wbem/wscim/1/instrinsic  --namespace=root/cimv2
   
 <s:Body>

    <n1:EnumerateClassNames>

      <n1:name>root/cimv2:CIM_Service</n1:name>

      <n1:name>root/cimv2:Syslog_RecordInLog</n1:name>

      <n1:name>root/cimv2:Linux_SambaValidUsersForShare</n1:name>

       <n1:name>root/cimv2:Linux_BaseBoard</n1:name>

      <n1:name>root/cimv2:Linux_SambaForceUserForShare</n1:name>

      <n1:name>root/cimv2:Linux_Processor</n1:name>

      <n1:name>root/cimv2:CIM_RecordForLog</n1:name>

      <n1:name>root/cimv2:Linux_SambaShareForService</n1:name>

      <n1:name>root/cimv2:Linux_SambaServiceConfigurationForService</n1:name>

      <n1:name>root/cimv2:Linux_SambaHostsForService</n1:name>

      <n1:name>root/cimv2:Linux_SambaForceUserForGlobal</n1:name>

      <n1:name>root/cimv2:CIM_OSProcess</n1:name>

      <n1:name>root/cimv2:CIM_RunningOS</n1:name>...................
 
Tulos näyttää samalta kuin yllä, mikä osoittaa, että nimiavaruuden juuressa/cimv2:ssa Linux_Processor on yksi rekisteröidyistä luokista. On olemassa useita CIM-luokkia, jotka periytyvät, kun uusia luokkia rekisteröidään root/cimv2-nimitilaan, ja yllä oleva komento luettelee myös kaikki nämä luokkien nimet. Yleensä voit ohittaa kaikki luokat, joissa on CIM_ etuliite. Kaikki luokat , joissa on Linux_ etuliite, ovat luokkia, jotka Linux-järjestelmään asennetut palveluntarjoajat rekisteröivät. Dellin idracin kanssa työskennellessäsi olet kiinnostunut lähinnä kursseista, joissa on DCIM_ etuliite.

 Nyt kun sinulla on luettelo kaikista luokkien nimistä, voit purkaa Linux_Processor luokan määritelmän getClassin sisäisen funktion avulla seuraavasti:
wsman invoke -a GetClass --hostname=test_host --port=5985 --username=abc --password=password http://schemas.openwsman.org/wbem/wscim/1/intrinsic/Linux_Processor  --namespace=root/cimv2
 
 Edellä oleva komento luettelee kaikki ominaisuudet, jotka on määritetty Linux_Processor paikallisesti. Tämä tarkoittaa, että muista CIM_* -luokista perittyjä ominaisuuksia ei ole lueteltu nykyisessä toteutuksessa. Yleensä luokan määritelmästä voit selvittää, mitä menetelmiä luokassa määritellään, mitkä parametrit on siirrettävä näihin menetelmiin ja mitkä luokan ominaisuudet ovat keskeisiä ominaisuuksia jne. Mutta koska yllä oleva komento palauttaa vain paikalliset ominaisuudet, luokan keskeisiä ominaisuuksia ei voida tunnistaa. Tämä on jälleen tällä hetkellä wsmancli-toteutuksen rajoitus.

Joten vaikka GetClass-funktio on hyvä lähtökohta, sen tulos ei riitä määrittämään, mitä luokan ominaisuuksia voidaan käyttää avainominaisuuksina, jotta get/put/create/custom-toiminto voidaan käynnistää. Joten mitä muita tekniikoita voidaan käyttää tämän saavuttamiseksi? Tässä laajennetut tuottajajärjestöt voivat auttaa.


EPR (End Point Reference) on osoitin esiintymään, jossa on kaksi tietoa: ResourceURI ja Selector Set. ResourceURI:lla on luokan nimi, josta ilmentymä luodaan, ja valitsinjoukossa luetellaan ominaisuudet, joilla ilmentymä voidaan yksilöidä. Tietyn luokan EPR: t voidaan luetella seuraavanlaisella komennolla:
wsman enumerate -M epr  http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor -h test_host-P 5985 -u abc -p password -O out

 <?xml version="1.0" encoding="UTF-8"?>

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">

  <s:Header>

    <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>

    <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/enumeration/PullResponse</wsa:Action>

    <wsa:RelatesTo>uuid:ca52c9e9-cd47-1d47-8003-a52924d9bed4</wsa:RelatesTo>

    <wsa:MessageID>uuid:ca622bb3-cd47-1d47-8097-a52924d9bed4</wsa:MessageID>

  </s:Header>

  <s:Body>

    <wsen:PullResponse>

      <wsen:EnumerationContext>ca4fdd21-cd47-1d47-8095-a52924d9bed4</wsen:EnumerationContext>

      <wsen:Items>

        <wsa:EndpointReference>

          <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

          <wsa:ReferenceParameters>

            <wsman:ResourceURI>http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor</wsman:ResourceURI>

            <wsman:SelectorSet>

              <wsman:Selector Name="__cimnamespace">root/cimv2</wsman:Selector>

              <wsman:Selector Name="SystemCreationClassName">Linux_ComputerSystem</wsman:Selector>

              <wsman:Selector Name="SystemName">localhost.localdomain</wsman:Selector>

              <wsman:Selector Name="CreationClassName">Linux_Processor</wsman:Selector>

              <wsman:Selector Name="DeviceID">0</wsman:Selector>

            </wsman:SelectorSet>

          </wsa:ReferenceParameters>

        </wsa:EndpointReference>

      </wsen:Items>

    </wsen:PullResponse>

  </s:Body>

</s:Envelope>
 Kaikista kohdejärjestelmän prosessoreista yllä oleva tulos on vain yksi prosessori. Tuloksessa resourceURI näkyy muodossa http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor, ja SelectorSet-parametrissa luetellaan arvot __cimnamespace, SystemCreationClassName, SystemName , CreationClassName ja DeviceID. Tämä tarkoittaa, että kaikista Linux_Processor-luokan ominaisuuksista (perityt ja paikallisesti määritetyt) näitä ominaisuuksia voidaan käyttää esiintymän yksilölliseen tunnistamiseen.

 Voit siis odottaa kelvollista vastausta seuraavanlaisesta komennosta:
wsman get  http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor?SystemCreationClassName="Linux_ComputerSystem",SystemName="localhost.localdomain",CreationClassName="Linux_Processor",DeviceID="3",__cimnamespace="root/cimv2" -h test_host -P 5985 -u abc -p password -O get
 Jos yllä olevassa pyynnössä käytetään muita ominaisuuksia, taustalla oleva CIMOM ei pysty tunnistamaan instanssia yksilöllisesti. Vastaavasti, jos esiintymässä on suoritettava joitakin mukautettuja menetelmiä, luokan EPR: ää voidaan käyttää tunnistamaan tärkeimmät ominaisuudet, joilla menetelmä käynnistetään.

Voit luetella myös yhdistyksen EPR: t. Luokan nimen perusteella ei voida selvittää, onko se tavallinen luokan nimi vai yhdistysluokka. Koska yhdistyksen esiintymässä on viitteitä kahteen esiintymään, yhdistyksen EPR:llä on niiden esiintymien/objektien EPR:t, joihin yhdistys viittaa. Seuraavassa on esimerkki samasta:
wsman enumerate -M epr  http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_CSProcessor -h test_host -P 5985 -u abc -p password -O out

 <?xml version="1.0" encoding="UTF-8"?>

<s:Envelope xmlns:s="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsen="http://schemas.xmlsoap.org/ws/2004/09/enumeration" xmlns:wsman="http://schemas.dmtf.org/wbem/wsman/1/wsman.xsd">

  <s:Header>

    <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>

    <wsa:Action>http://schemas.xmlsoap.org/ws/2004/09/enumeration/PullResponse</wsa:Action>

    <wsa:RelatesTo>uuid:2efbfcad-cd4b-1d4b-8003-a52924d9bed4</wsa:RelatesTo>

    <wsa:MessageID>uuid:2efc1c6f-cd4b-1d4b-80b3-a52924d9bed4</wsa:MessageID>

  </s:Header>

  <s:Body>

    <wsen:PullResponse>

      <wsen:EnumerationContext>2ef7f6f5-cd4b-1d4b-80b1-a52924d9bed4</wsen:EnumerationContext>

      <wsen:Items>

        <wsa:EndpointReference>

          <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

          <wsa:ReferenceParameters>

            <wsman:ResourceURI>http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_CSProcessor</wsman:ResourceURI>

            <wsman:SelectorSet>

              <wsman:Selector Name="__cimnamespace">root/cimv2</wsman:Selector>

              <wsman:Selector Name="GroupComponent">

                <wsa:EndpointReference>

                  <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

                  <wsa:ReferenceParameters>

                    <wsman:ResourceURI>http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_ComputerSystem</wsman:ResourceURI>

                    <wsman:SelectorSet>

                      <wsman:Selector Name="CreationClassName">Linux_ComputerSystem</wsman:Selector>

                      <wsman:Selector Name="Name">localhost.localdomain</wsman:Selector>

                      <wsman:Selector Name="__cimnamespace">root/cimv2</wsman:Selector>

                    </wsman:SelectorSet>

                  </wsa:ReferenceParameters>

                </wsa:EndpointReference>

              </wsman:Selector>

              <wsman:Selector Name="PartComponent">

                <wsa:EndpointReference>

                  <wsa:Address>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:Address>

                  <wsa:ReferenceParameters>

                    <wsman:ResourceURI>http://sblim.sf.net/wbem/wscim/1/cim-schema/2/Linux_Processor</wsman:ResourceURI>

                    <wsman:SelectorSet>

                      <wsman:Selector Name="SystemCreationClassName">Linux_ComputerSystem</wsman:Selector>

                      <wsman:Selector Name="SystemName">localhost.localdomain</wsman:Selector>

                      <wsman:Selector Name="CreationClassName">Linux_Processor</wsman:Selector>

                      <wsman:Selector Name="DeviceID">0</wsman:Selector>

                      <wsman:Selector Name="__cimnamespace">root/cimv2</wsman:Selector>

                    </wsman:SelectorSet>

                  </wsa:ReferenceParameters>

                </wsa:EndpointReference>

              </wsman:Selector>

            </wsman:SelectorSet>

          </wsa:ReferenceParameters>

        </wsa:EndpointReference>

      </wsen:Items>

    </wsen:PullResponse>

  </s:Body>

</s:Envelope>
Linux_CSProcessor on Linux_ComputerSystem - ja Linux_Processor-luokkien välinen yhteys, joka muodostaa suhteen siihen, että suorittimet sisältyvät tietokonejärjestelmiin ja siten GroupComponent- ja PartComponent-osiin.

Minun piti viettää jonkin aikaa EPR: ien selvittämiseen ja siihen, miten niitä voidaan käyttää yksittäisten tapausten käyttämiseen, ajattelin, että siitä voisi olla hyötyä muille. Voit vapaasti jättää minulle kommenttisi / ehdotuksesi alla.

Vastuuvapauslauseke:

Yllä oleva artikkeli on tarkoitettu vain tiedoksi. Sisältö on tulkinnastani mainituista tekniikoista/terminologioista. Nämä tiedot toimitetaan sellaisenaan, ja ne voivat sisältää joitakin kirjoitusvirheitä ja/tai teknisiä epätarkkuuksia.

Affected Products

Ubuntu Server LTS
Article Properties
Article Number: 000145895
Article Type: Solution
Last Modified: 11 Jun 2024
Version:  4
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.