RENCI-NRIG / orca5

ORCA5 Software
Eclipse Public License 1.0
2 stars 1 forks source link

Slice with a node named 'controller' experiences problems #46

Closed ibaldin closed 8 years ago

ibaldin commented 8 years ago

A single-node slice with a node named controller cannot be properly processed because of this

screen shot 2016-02-29 at 10 12 45 am

ibaldin commented 8 years ago

Looks like a manifest contains an individual named 'controller' of class Controller that has an assertion hasURL pointing at ORCA controller that generated the manifest. Possibly this is the cause.

ibaldin commented 8 years ago

The behavior of this bug has changed recently, but it is still there. The best manifestation seems to be an incomplete description of the node named 'controller' in the manifest, like so:

  <rdf:Description rdf:about="http://geni-orca.renci.org/owl/5acf0c06-72e9-4e91-925a-cedcd9a554bd#controller">
    <rdf:type rdf:resource="http://geni-orca.renci.org/owl/compute.owl#ComputeElement"/>
    <rdf:type rdf:resource="http://geni-orca.renci.org/owl/domain.owl#Controller"/>
    <j.7:inDomain rdf:resource="http://geni-orca.renci.org/owl/bbnvmsite.rdf#bbnvmsite/Domain/vm"/>
    <j.12:hasURL>https://localhost:11443/orca/xmlrpc</j.12:hasURL>
    <j.12:hasURL>http://geni-orca.renci.org/owl/bbnvmsite.rdf#bbnvmsite/Domain/vm</j.12:hasURL>
    <j.12:hasGUID>7e8d86f2-6766-42ce-a125-da34abb1bfad</j.12:hasGUID>
    <j.1:diskImage rdf:resource="http://geni-orca.renci.org/owl/5acf0c06-72e9-4e91-925a-cedcd9a554bd#Centos+6.7+v1.0.0"/>
    <j.1:specificCE rdf:resource="http://geni-orca.renci.org/owl/exogeni.owl#XOMedium"/>
    <j.9:hasResourceType rdf:resource="http://geni-orca.renci.org/owl/compute.owl#VM"/>
  </rdf:Description>

State is absent even though in pequod you can see the reservation is fine. In Flukes now the node shows grey because its state is unknown, but I'm not seeing the exception anymore. I think this is a problem at the time where manifest is formed. I did a quick grep for string 'controller' in the code - there are a few places, but nothing seemed obvious.

Looking at the manifest individual one can see that it tries to point to ORCA controller that originated the manifest however instead points to the node (using hasController property).

  <rdf:Description rdf:about="http://geni-orca.renci.org/owl/5acf0c06-72e9-4e91-925a-cedcd9a554bd#manifest">
    <rdf:type rdf:resource="http://geni-orca.renci.org/owl/request.owl#Manifest"/>
    <j.10:element rdf:resource="http://geni-orca.renci.org/owl/5acf0c06-72e9-4e91-925a-cedcd9a554bd#controller"/>
    <j.12:hasDN rdf:datatype="http://www.w3.org/2001/XMLSchema#string">EMAILADDRESS=exogeni-ops@renci.org, CN=geni-orca, OU=NRIG, O=RENCI, L=
Chapel Hill, ST=NC, C=US</j.12:hasDN>
    <j.9:hasController rdf:resource="http://geni-orca.renci.org/owl/5acf0c06-72e9-4e91-925a-cedcd9a554bd#controller"/>
  </rdf:Description>

Also notice the node 'controller' above ends up being of type ComputeElement and Controller which is not right. There must be a confusion/string comparison that allows this to happen.

@YufengXin

ibaldin commented 8 years ago

This is fixed on slicestitch branch and will be deployed across exogeni when slicestitch branch is merged onto trunk in Oct 2016. @paul-ruth @anriban @YufengXin