<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 20:25:17 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[NEUTRON-2] ISSUE in Bulk Neutron Requests</title>
                <link>https://jira.opendaylight.org/browse/NEUTRON-2</link>
                <project id="10145" key="NEUTRON">neutron</project>
                    <description>&lt;p&gt;Bulk requests for creating network, subnet, port are not implemented as per the neutron v2.0 spec, as the bulk requests are atomic. &lt;br/&gt;
Following are two issues:&lt;/p&gt;


&lt;p&gt;1. Negative cases of bulk request&lt;/p&gt;

&lt;p&gt;For the cases, where the bulk request is able to add a network/port/subnet successfully, there are no issues. But, if any of the requests fails, there is no logic in ODL which can delete the previously created networks/subnets/ports.&lt;/p&gt;

&lt;p&gt;For example: If a request for creating 5 networks is failing at creating the 3rd network, there should be tear down of the first two networks.&lt;br/&gt;
So canCreateNetwork method will check whether network can be created or not for the bulk request.&lt;br/&gt;
After that addnetwork method will add the networks to the local cache. and when it fails at creating 3rd network there should be logic that deletes the previously created networks.&lt;/p&gt;


&lt;p&gt;2. Support for adding network/ports/subnets &lt;/p&gt;

&lt;p&gt;In NeutronNetworksNorthbound class we are using INeutronNetworkAware interface for implementing canCreateNetwork and neutronNetworkCreated but there is no method for adding network wherein the plugins extending the neutron APIs can actually add or create the network. A support for the same should be provided.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: Linux&lt;br/&gt;
Platform: PC&lt;/p&gt;</environment>
        <key id="26564">NEUTRON-2</key>
            <summary>ISSUE in Bulk Neutron Requests</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Cannot Reproduce</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="ankit21.a@tcs.com">Ankit agarwal</reporter>
                        <labels>
                    </labels>
                <created>Thu, 12 Jun 2014 11:31:16 +0000</created>
                <updated>Thu, 19 Oct 2017 21:24:53 +0000</updated>
                            <resolved>Fri, 20 Feb 2015 15:31:03 +0000</resolved>
                                    <version>unspecified</version>
                                                    <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                                                                <comments>
                            <comment id="53208" author="priyanka71188@gmail.com" created="Tue, 15 Jul 2014 07:36:18 +0000"  >&lt;p&gt;Fix for &lt;a href=&quot;https://jira.opendaylight.org/browse/NEUTRON-2&quot; title=&quot;ISSUE in Bulk Neutron Requests&quot; class=&quot;issue-link&quot; data-issue-key=&quot;NEUTRON-2&quot;&gt;&lt;del&gt;NEUTRON-2&lt;/del&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://git.opendaylight.org/gerrit/9007&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/9007&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="53209" author="rmoats@us.ibm.com" created="Tue, 22 Jul 2014 12:31:16 +0000"  >&lt;p&gt;part 2 of the original defect has been split off into enhancement request 1404 and this bug focused on part 1 only&lt;/p&gt;</comment>
                            <comment id="53210" author="priyanka.chopra@tcs.com" created="Tue, 22 Jul 2014 18:00:23 +0000"  >&lt;p&gt;Hi Ryan,&lt;/p&gt;

&lt;p&gt;Both the issues mentioned above(1191 + 1404) are related to one another and fix for them have already been commited : &lt;a href=&quot;https://git.opendaylight.org/gerrit/9007&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/9007&lt;/a&gt;&lt;br/&gt;
Request you to please review the same.&lt;/p&gt;

&lt;p&gt;Also below is the detailed explanation:&lt;br/&gt;
Presently if any bulk request fails, post canCreateNetwork() ie while actually creating the network(by any southbound plugin in underlying framework), the same logic cannot be implemented/extended in any southbound plugin.&lt;/p&gt;

&lt;p&gt;Present implementation:&lt;br/&gt;
networkInterface.addNetwork(test);&lt;/p&gt;

&lt;p&gt;Suggested fix:&lt;br/&gt;
Object[] instances1 = ServiceHelper.getGlobalInstances (INeutronNetworkCRUD.class, this, null);&lt;br/&gt;
    for (Object instance : instances1) {&lt;br/&gt;
        INeutronNetworkCRUD service = (INeutronNetworkCRUD) instance;&lt;br/&gt;
        boolean status = service.addNetwork(test);&lt;br/&gt;
        if (!status) {&lt;br/&gt;
            Iterator&amp;lt;NeutronNetwork&amp;gt; j = bulk.iterator();&lt;br/&gt;
            while(j.hasNext()){&lt;br/&gt;
                NeutronNetwork tempNetwork = j.next();&lt;br/&gt;
                if(tempNetwork.getNetworkUUID().matches(test.getNetworkUUID()))&lt;/p&gt;
{	
                   networkInterface.removeNetwork(tempNetwork.getNetworkUUID());	                                    
                   break;
                }
&lt;p&gt;        service.removeNetwork(tempNetwork.getNetworkUUID());&lt;br/&gt;
        }&lt;br/&gt;
        return Response.status(500).build();&lt;br/&gt;
    }&lt;br/&gt;
}&lt;/p&gt;

&lt;p&gt;With above fix the plugin will be able to cater the create network request as well as return a boolean status thereby confirming whether the network creation was successful or not. Based on the status if the network creation fails the same can be deleted right away.&lt;/p&gt;</comment>
                            <comment id="53211" author="rmoats@us.ibm.com" created="Tue, 22 Jul 2014 18:09:26 +0000"  >&lt;p&gt;I did review the patchset and -1&apos;d it because while the two items are related, one is a defect and the other is an enhancement.  I understand the defect and don&apos;t want to hold that hostage to the fact that I don&apos;t yet agree with the enhancement implementation&lt;/p&gt;</comment>
                            <comment id="53212" author="priyanka.chopra@tcs.com" created="Wed, 23 Jul 2014 12:03:19 +0000"  >&lt;p&gt;Attached is the detailed investigation report.&lt;br/&gt;
Can we schedule a follow-up call to discuss the same(We are in IST timezone)&lt;/p&gt;</comment>
                            <comment id="53215" author="priyanka.chopra@tcs.com" created="Wed, 23 Jul 2014 12:03:19 +0000"  >&lt;p&gt;Attachment Bug1191_investigation.docx has been added with description: Investigation Report - for followup discussion&lt;/p&gt;</comment>
                            <comment id="53213" author="rmoats@us.ibm.com" created="Tue, 17 Feb 2015 15:35:22 +0000"  >&lt;p&gt;Moving from current project to neutron&lt;/p&gt;</comment>
                            <comment id="53214" author="rmoats@us.ibm.com" created="Fri, 20 Feb 2015 15:31:03 +0000"  >&lt;p&gt;This is not a bug and the suggested patches are incorrect because they are attempting to modify the I*Aware construct without properly publicizing those changes.&lt;/p&gt;

&lt;p&gt;A service is supposed to create/update/delete the downstream item when its *Created, *Updated, or *Deleted method is called.  There is no need for separate blocks of code for specifically creating downstream items, and those blocks of code would have to be part of the I*Aware contract if added.&lt;/p&gt;

&lt;p&gt;Once a service says yes to the can* method, it no longer gets a nay vote to stop the process - it now takes responsibility for &quot;doing what it can&quot;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10000">
                    <name>Blocks</name>
                                            <outwardlinks description="blocks">
                                        <issuelink>
            <issuekey id="26565">NEUTRON-3</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="13721" name="Bug1191_investigation.docx" size="16975" author="priyanka.chopra@tcs.com" created="Wed, 23 Jul 2014 12:03:19 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1191</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=1191]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02u3r:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>