Ошибка при добавлении потока с использованием OpenDaylight REST API - PullRequest
0 голосов
/ 08 мая 2018

У меня есть контроллер OpenDaylight, настроенный как драйвер механизма в облаке OpenStack. Установка была выполнена с помощью DevStack на виртуальной машине «все в одном».

Все работает нормально. У меня есть две виртуальные машины в моем облаке OpenStack, и они могут пинговать друг друга. Затем я хочу добавить новый поток в мой Open vSwitch, у меня появляется следующая ошибка:

curl -u admin:admin -H 'Content-Type: application/yang.data+xml' -X PUT -d @flow_data.xml http://192.168.100.100:8181/restconf/config/opendaylight-inventory:nodes/node/openflow:1/table/234/flow/100770 | python -m json.tool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1347    0   638  100   709  42078  46761 --:--:-- --:--:-- --:--:-- 50642
{
    "errors": {
        "error": [
            {
                "error-info": "Data from case (urn:opendaylight:flow:inventory?revision=2013-08-19)output-action-case are specified but other data from case (urn:opendaylight:flow:inventory?revision=2013-08-19)drop-action-case were specified earlier. Data aren't from the same case.",
                "error-message": "Error parsing input: Data from case (urn:opendaylight:flow:inventory?revision=2013-08-19)output-action-case are specified but other data from case (urn:opendaylight:flow:inventory?revision=2013-08-19)drop-action-case were specified earlier. Data aren't from the same case.",
                "error-tag": "malformed-message",
                "error-type": "protocol"
            }
        ]
    }
}

flow_data.xml:

<?xml version="1.0"?>
<flow xmlns="urn:opendaylight:flow:inventory">
  <priority>14865</priority>
  <flow-name>jpsampleFlow</flow-name>
  <idle-timeout>12000</idle-timeout>
  <match>
    <ethernet-match>
      <ethernet-type>
        <type>2048</type>
      </ethernet-type>
    </ethernet-match>
    <ipv4-source>10.0.0.1/32</ipv4-source>
    <ipv4-destination>10.0.0.2/32</ipv4-destination>
    <ip-match>
      <ip-dscp>28</ip-dscp>
    </ip-match>
  </match>
  <id>9</id>
  <table_id>0</table_id>
  <instructions>
    <instruction>
      <order>6555</order>
    </instruction>
    <instruction>
      <order>0</order>
      <apply-actions>
        <action>
          <order>0</order>
          <drop-action/>
          <output-action>
            <output-node-connector>1</output-node-connector>
          </output-action>
        </action>
      </apply-actions>
    </instruction>
  </instructions>
</flow>

Есть идеи, что я делаю не так? Спасибо.

1 Ответ

0 голосов
/ 09 мая 2018

у вас есть одно действие, которое нужно отбросить, и другое действие, которое нужно переслать не те взаимоисключающие? попробуй без того или другого.

...