[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15011716#comment-15011716
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user KrisSterckx commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-157825620
  
Thanks @remibergsma and all reviewers  -  This is great.  This is a great 
add to CloudStack and a great milestone for Nuage Networks.  CloudStack + SDN  
: a winning team !


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15010771#comment-15010771
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user remibergsma commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-157680581
  
LGTM, based on a set of tests that I run on this branch (which I rebased 
myself first now that master moved on):

```
nosetests --with-marvin --marvin-config=${marvinCfg} -s -a 
tags=advanced,required_hardware=true \
component/test_vpc_redundant.py \
component/test_routers_iptables_default_policy.py \
component/test_routers_network_ops.py \
component/test_vpc_router_nics.py \
smoke/test_loadbalance.py \
smoke/test_internal_lb.py \
smoke/test_ssvm.py \
smoke/test_network.py

```

Result:

```
Create a redundant VPC with two networks with two VMs in each network ... 
=== TestName: test_01_create_redundant_VPC_2tiers_4VMs_4IPs_4PF_ACL | St
atus : SUCCESS ===
ok
Create a redundant VPC with two networks with two VMs in each network and 
check default routes ... === TestName: test_02_redundant_VPC_default_rou
tes | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policy on RouterVM ... === TestName: 
test_02_routervm_iptables_policies | Status : SUCCESS ===
ok
Test iptables default INPUT/FORWARD policies on VPC router ... === 
TestName: test_01_single_VPC_iptables_policies | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: 
test_01_isolate_network_FW_PF_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: 
test_02_isolate_network_FW_PF_default_routes_egress_false | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: 
test_01_RVR_Network_FW_PF_SSH_default_routes_egress_true | Status : SUCCESS ===
ok
Test redundant router internals ... === TestName: 
test_02_RVR_Network_FW_PF_SSH_default_routes_egress_false | Status : SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test nics 
after destroy ... === TestName: test_01_VPC_nics_after_destroy | Status :
 SUCCESS ===
ok
Create a VPC with two networks with one VM in each network and test default 
routes ... === TestName: test_02_VPC_default_routes | Status : SUCCESS
 ===
ok
Check the password file in the Router VM ... === TestName: 
test_isolate_network_password_server | Status : SUCCESS ===
ok
Check that the /etc/dhcphosts.txt doesn't contain duplicate IPs ... === 
TestName: test_router_dhcphosts | Status : SUCCESS ===
ok
Test to create Load balancing rule with source NAT ... === TestName: 
test_01_create_lb_rule_src_nat | Status : SUCCESS ===
ok
Test to create Load balancing rule with non source NAT ... === TestName: 
test_02_create_lb_rule_non_nat | Status : SUCCESS ===
ok
Test for assign & removing load balancing rule ... === TestName: 
test_assign_and_removal_lb | Status : SUCCESS ===
ok
Test to verify access to loadbalancer haproxy admin stats page ... === 
TestName: test02_internallb_haproxy_stats_on_all_interfaces | Status : SUCC
ESS ===
ok
Test create, assign, remove of an Internal LB with roundrobin http traffic 
to 3 vm's ... === TestName: test_01_internallb_roundrobin_1VPC_3VM_HTTP
_port80 | Status : SUCCESS ===
ok
Test SSVM Internals ... === TestName: test_03_ssvm_internals | Status : 
SUCCESS ===
ok
Test CPVM Internals ... === TestName: test_04_cpvm_internals | Status : 
SUCCESS ===
ok
Test stop SSVM ... === TestName: test_05_stop_ssvm | Status : SUCCESS ===
ok
Test stop CPVM ... === TestName: test_06_stop_cpvm | Status : SUCCESS ===
ok
Test reboot SSVM ... === TestName: test_07_reboot_ssvm | Status : SUCCESS 
===
ok
Test reboot CPVM ... === TestName: test_08_reboot_cpvm | Status : SUCCESS 
===
ok
Test destroy SSVM ... === TestName: test_09_destroy_ssvm | Status : SUCCESS 
===
ok
Test destroy CPVM ... === TestName: test_10_destroy_cpvm | Status : SUCCESS 
===
ok
Test Remote Access VPN in VPC ... === TestName: test_vpc_remote_access_vpn 
| Status : SUCCESS ===
ok
Test VPN in VPC ... === TestName: test_vpc_site2site_vpn | Status : SUCCESS 
===
ok
Test for port forwarding on source NAT ... === TestName: 
test_01_port_fwd_on_src_nat | Status : SUCCESS ===
ok
Test for port forwarding on non source NAT ... === TestName: 
test_02_port_fwd_on_non_src_nat | Status : SUCCESS ===
ok
Test for reboot router ... === TestName: test_reboot_router | Status : 
SUCCESS ===
ok
Test for Router rules for network rules on acquired public IP ... === 
TestName: test_network_rules_acquired_public_ip_1_static_nat_rule | Status :
 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15010796#comment-15010796
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-157683273
  
Awesome! Thanks @jburwell for the thorough review, thanks @remibergsma for 
merging it in, thanks to all who helped getting this PR in! Much appreciated! :)


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15010777#comment-15010777
 ] 

ASF subversion and git services commented on CLOUDSTACK-8832:
-

Commit 95ae7963d5652595d62d6ace39de2eec9670413c in cloudstack's branch 
refs/heads/master from [~remibergsma]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=95ae796 ]

Merge pull request #801 from nlivens/updated-nuage-vsp-plugin

CLOUDSTACK-8832 : Update Nuage VSP plugin to work with Nuage VSP release 3.2

* pr/801:
  CLOUDSTACK-8832 : Update Nuage VSP plugin to work with Nuage VSP release 3.2

Signed-off-by: Remi Bergsma 


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15010785#comment-15010785
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user remibergsma commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-157681280
  
Congrats @nlivens @KrisSterckx this is now merged in master and will be 
included in 4.7.0. Thanks for all the work to get this in :-)


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15010778#comment-15010778
 ] 

ASF subversion and git services commented on CLOUDSTACK-8832:
-

Commit 95ae7963d5652595d62d6ace39de2eec9670413c in cloudstack's branch 
refs/heads/master from [~remibergsma]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=95ae796 ]

Merge pull request #801 from nlivens/updated-nuage-vsp-plugin

CLOUDSTACK-8832 : Update Nuage VSP plugin to work with Nuage VSP release 3.2

* pr/801:
  CLOUDSTACK-8832 : Update Nuage VSP plugin to work with Nuage VSP release 3.2

Signed-off-by: Remi Bergsma 


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15010780#comment-15010780
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user asfgit closed the pull request at:

https://github.com/apache/cloudstack/pull/801


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF subversion and git services (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15010776#comment-15010776
 ] 

ASF subversion and git services commented on CLOUDSTACK-8832:
-

Commit 645f8758df3a2d22d4583d385492187285393a89 in cloudstack's branch 
refs/heads/master from [~nlivens]
[ https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=645f875 ]

CLOUDSTACK-8832 : Update Nuage VSP plugin to work with Nuage VSP release 3.2


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-18 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15012037#comment-15012037
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user DaanHoogland commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-157871920
  
@nlivens please have a look at 
http://jenkins.buildacloud.org/job/build-master-slowbuild/2662/
two occasions of default encoding that you should make explicit. Look at 
StringUtils (ours) for the methods ```getPreferredCharset()``` and 
```getDefaultCharset()``` and use them please instead of the  implicit default. 
thanks.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-17 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15008635#comment-15008635
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-157371668
  
Thanks @remibergsma, much appreciated!


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-17 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15008295#comment-15008295
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user remibergsma commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-157311229
  
@KrisSterckx @nlivens Guys, we are ready to merge this into master/4.7 now. 
Since it was rebased last some weeks ago, I'll do a quick test run against 
current master and will then merge. Thanks all for the hard work!


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-06 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14993434#comment-14993434
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user ustcweizhou commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-154363971
  
@mlsorensen I agree with that third-parties can ship their own packages 
based on official release. It is more flexible for them. They can release new 
packages with new feature/improvement and bug fix, no need to wait for official 
cloudstack release.
I also understand their concern that the code difference between their 
branch and master branch will become more and more bigger if they cannot merge 
most of their codes to main branch. It will be difficult to upgrade to new 
cloudstack versio. The upgrade means a lot of work, especially if there is 
framework refactoring. I believe many companies have their cloudstack branch 
with new features and customized UI , and they face the issue when they want 
new features and upgrade to new version.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-06 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14993602#comment-14993602
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user remibergsma commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-154401989
  
Great! This one is on my list to be merged once 4.6.0 is out and we start 
building 4.7.0.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-05 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14992528#comment-14992528
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user jburwell commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-154200225
  
:+1:  LGTM

@nlivens excellent work -- much appreciate the hard work.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-05 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14993287#comment-14993287
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user runseb commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-154335646
  
ok so bottom line, it seems reviews are +1 and we will merge this in 4.7.
ASAP after 4.6.0 is out, taking.

the only thing will be to keep an eye on it and rebase.

unfortunately we cannot tag/label it for triaging properly.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14990406#comment-14990406
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user mlsorensen commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153863283
  
John,
I probably shouldn't respond in this thread, but from your response I
feel like much of my point was missed. In fact I had pointed out the very
thing you mention, that there's no requirement for third parties to submit
their code to the community, they could ship their plugin standalone and
have their users install it. If a user has a problem, it won't matter if
the plugin was shipped with CloudStack or installed standalone, the result
will be the same.
I think we are in agreement that the code should have the same
standards, but I think we (and I mean all of us) differ to varying degrees
in what those standards should be. One may block an important commit
because it uses String.length() == 0 instead of String.isEmpty(), or
doesn't print enough debug info, and end up postponing the benefit of the
fixes to the next release, while another committer might not care about
that level of review and standard. There should probably be a basic list of
items to look for so that the reviews themselves can be standardized. I
think that would also address the concern I have for the community culture,
because contributors will fear the review process less if they can see up
front what the criteria are for merge. There's little I can think of that
is more detrimental to growing our community of committers than making
people feel like they're submitted to an arbitrary level of scrutiny
whenever they contribute. When contributing becomes painful then we're held
at arms length, rather than encouraging ownership of the code and
participation.

On Wed, Nov 4, 2015 at 10:35 AM, John Burwell 
wrote:

> I agree with @runseb  that we need to move
> this discussion to dev@, and re-assess accepting the maintenance
> responsibly for code that cannot be tested and verified by the community.
> This plugin has already been accepted into 4.5, and as such, would be
> "grandfathered" into any decision we would make. Therefore, we should 
carry
> our current precedent forward and not prevent acceptance of this PR for
> this reason. We are at a point in the 4.6 release cycle that only blockers
> should be accepted. Otherwise, we will never ship 4.6.
>
> @KrisSterckx  I realize my comments may
> come across as unappreciative which is not my intention. I greatly
> appreciate the work @nlivens  and you have
> done to contribute this capability to the community. This plugin 
highlights
> a larger issue which is that, as a community, we are delivering releases
> containing code that cannot be verified. By contributing this plugin to 
our
> community, we become responsible for its support and maintenance. In 6-12
> months, how do answer answer a user who asks does this plugin work in the
> latest release if you are unavailable?
>
> @runseb  while there is a fairness issue for
> the contributor, I think it is incredibly unfair to our users that we ship
> code without on-going validation. When a user sees the availability of
> PluginX supporting Device1 in a release, they assume that we have verified
> the proper operation of PluginX since we shipped it in that release. In
> fact, we haven't, and they may be attempting to use something that is
> completely broken.
>
> @mlsorensen  yes, plugins provide a
> mechanism for vendors to extend CloudStack. However, there is no
> requirement for those plugins to be part of the community, OSS codebase.
> Therefore, we should not conflate the ability of third-parties to extend
> CloudStack using plugins with the code that is accepted as part of the
> community's repositories. All code in our repositories, regardless of 
being
> in the core or a plugin, should be held to the same standards. When a user
> has a problem, they aren't any less frustrated with the project because
> their problem happens to be in a plugin.
>
> @mike-tutkowski  I don't believe that
> code inspection by itself is adequate to determine the quality of code
> integrating an external device. For example, I reviewed the code for this
> plugin, and while I feel confident that it will behave well within the
> management server, I have absolutely no idea if the various 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14990176#comment-14990176
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user remibergsma commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153830070
  
This PR will be merged once 4.6.0 is out and together with some other cool 
features (I counted at least 5 of them that have pull requests that are almost 
ready to be merged) it will become 4.7.0.

After 4.6.0 is out we'll start to see the benefit of all te hard work to 
make master stable: we will deliver another stable release (4.7.0) in say a 
month with new cool features. Velocity! Yay!

+1 for removing dead code. Let's make a list and discuss.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14989099#comment-14989099
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user runseb commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153629584
  
@jburwell I hear what you are saying, but I think it would be totally 
unfair to ask this plugin provider to provide independent testing capability to 
the community. No other vendor plugin has been asked to do this and deciding to 
do this should not be done on a PR.

1- This PR has been submitted for sometime, and has had quite thorough 
review
2- The contributors are showing great respect, understanding and will to 
work with the community
3- As you mention other plugins are not tested independently, e.g Solidfire 
is maintained by Mike T and he did not even contribute his Marvin 
tests...Vmware NSX ?...

I'd rather work on a policy for removing dead code and abandoned plugins on 
the mailing list, than stop this great feature from being merged because we 
suddenly want to raise the bar and impose new way of testing third-party 
plugins.

The request to have a way for the community to test this independently of 
Nuage is valid but I would like to work with them in the coming month(s) to 
make this happen, rather than put a burden that has never existed on them now.

+1 for merge in 4.6



> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14989107#comment-14989107
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user runseb commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153631839
  
@DaanHoogland yep, so we can release this right on the heel of 4.6 release, 
with just one commit to get 4.7.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14989105#comment-14989105
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user DaanHoogland commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153631129
  
@runseb I am with you but for 4.7 instead of 4.6. The Nuage people have 
shown great effort of elegantly using our crappy plugin system and are now 
maintaining it. We should use extreme prejudice in merging it for all kinds of 
reasons.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14990128#comment-14990128
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user jburwell commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153822915
  
I agree with @runseb that we need to move this discussion to dev@, and 
re-assess accepting the maintenance responsibly for code that cannot be tested 
and verified by the community.  This plugin has already been accepted into 4.5, 
and as such, would be "grandfathered" into any decision we would make.  
Therefore, we should carry our current precedent forward and not prevent 
acceptance of this PR for this reason.  We are at a point in the 4.6 release 
cycle that only blockers should be accepted.  Otherwise, we will never ship 4.6.

@KrisSterckx I realize my comments may come across as unappreciative which 
is not my intention.  I greatly appreciate the work @nlivens and you have done 
to contribute this capability to the community.  This plugin highlights a 
larger issue which is that, as a community, we are delivering releases 
containing code that cannot be verified.  By contributing this plugin to our 
community, we become responsible for its support and maintenance.  In 6-12 
months, how do answer answer a user who asks does this plugin work in the 
latest release if you are unavailable?

@runseb while there is a fairness issue for the contributor, I think it is 
incredibly unfair to our users that we ship code without on-going validation.  
When a user sees the availability of PluginX supporting Device1 in a release, 
they assume that we have verified the proper operation of PluginX since we 
shipped it in that release.  In fact, we haven't, and they may be attempting to 
use something that is completely broken.

@mlsorensen yes, plugins provide a mechanism for vendors to extend 
CloudStack.  However, there is no requirement for those plugins to be part of 
the community, OSS codebase.  Therefore, we should not conflate the ability of 
third-parties to extend CloudStack using plugins with the code that is accepted 
as part of the community's repositories.  All code in our repositories, 
regardless of being in the core or a plugin, should be held to the same 
standards.  When a user has a problem, they aren't any less frustrated with the 
project because their problem happens to be in a plugin.  

@mike-tutkowski I don't believe that code inspection by itself is adequate 
to determine the quality of code integrating an external device.  For example, 
I reviewed the code for this plugin, and while I feel confident that it will 
behave well within the management server, I have absolutely no idea if the 
various network functions are being properly automated using the Nuage client 
APIs.  The only way for those aspects of the plugin's operation to be verified 
would be to run in a test environment with a Nuage device and realize a set of 
network topologies.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-04 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14989243#comment-14989243
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user DaanHoogland commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153669186
  
@runseb, yes in principle but we have a list of 4.7 candidates allready, so 
It would cantain a little more. Let's try to contain it though.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14986915#comment-14986915
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user remibergsma commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153287597
  
@jburwell That's fine, although this branch can be rebased easily. I would 
do that before running tests anyway. But I'll focus on 4.6 first, so it makes 
sense to hold it now. Shouldn't take long.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14987265#comment-14987265
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user jburwell commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153351842
  
@remibergsma agree regarding the rebase effort.  However, I am not going to 
spend time testing now knowing that it will need to be retested when master is 
unfrozen.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14987616#comment-14987616
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user jburwell commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153418530
  
@KrisSterckx it not a matter of trust.  By contributing this code to our 
community, we are responsible for its long-term support and maintenance.  
Therefore, we must be able to independently verify the plugin's operation.  
Before I am comfortable approving this PR, we must be able to verify the proper 
operation of this plugin.  


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14987672#comment-14987672
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user remibergsma commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153424524
  
@jburwell How do we do this with other such plugins? Nicira, SolidFire & 
friends. Since we do not have the hardware, there is no way to verify its 
functionality other than doing a code review and trusting the Marvin test that 
shows SUCCESS. I think @KrisSterckx will be the one that needs to address bugs, 
should they pop-up (like for example @mike-tutkowski does for SolidFire). I see 
no difference with the other plugins and am OK with merging (if LGTM on code 
review), once 4.6 is out and we merge PRs to build 4.7.

I will post test results once they're done.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14988402#comment-14988402
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user mike-tutkowski commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153517886
  
I liked Edison's approach to reviewing storage plug-in code: Since our 
storage plug-ins don't really run in "sandboxes," his approach was to mainly 
examine the code to try to make sure it wasn't inadvertently doing something 
bad to the data in the DB. For example, storage plug-ins have direct access to 
the DB via DAO objects and can accidentally delete data that doesn't belong to 
them.

Aside from those kinds of actions, Edison didn't encourage spending too 
much time trying to verify the correctness of storage plug-in code (that was an 
exercise left to the vendor).

Personally, though, I'd like to get to the point where I can bring my 
Marvin integration tests to the CloudStack repo and have them execute against 
virtual hardware. At the time being, however, this is not an option.

I also like having the ability to run these integration tests against 
different hypervisor types and versions, but am not yet confident I know how to 
do this within CloudStack's integration-test environment (so I just do this in 
house at SolidFire).


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14988423#comment-14988423
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user KrisSterckx commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153518941
  
Thanks @mlsorensen .

We wanted to bring this plugin update in 4.6 still for the exact reason to 
update the community with enriched functionality with our latest released Nuage 
SDN platform. We kept changes to the core to the minimum for the sake of 
maximizing the acceptance (knowing we were pretty late in the cycle) and at the 
same time maximizing the benefits to the community, with added unit- & marvin 
test coverage. 

Myself and the entire engineering who worked at this upstream contribution 
(dev & QA team) are still hoping for Apache CloudStack to welcome the support 
for the latest released Nuage VSP SDN platform and benefit the features & bug 
fixes it brings.



> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14988196#comment-14988196
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user mlsorensen commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153499188
  
I largely agree, it provides the best experience for our end users if
we can always verify that plugins are functional and maintainable. On the
flip side, it seems that's part of the point of plugins. It isolates vendor
or implementation-specific code, making it easier to pick up by someone
else who may have domain knowledge but not CloudStack knowledge, or to easy
to remove if it becomes dead code.

In the case of vendors, if they stop their involvement, the most likely
end result is that the code won't be maintained, and if we haven't been
given means to test then we won't know on our own if it is functional. If
the vendor has ended involvement though, even if they've provided means to
test the code then those means may become defunct as well (e.g. software,
system, or license is deprecated), so providing means to the community for
testing doesn't seem to help much if we don't have continued vendor
support. In the past we have simply held a community vote to determine who
cares about the plugin, followed by removal, or if there's someone who
cares about the code and is in a position to maintain and provide testing
for it, they become the community maintainer for that code.

 One note of caution, the nature of the plugin architecture also
provides room for vendors to work on their own and provide their code
and/or artifacts to their customers. Short of the tiny core changes in this
request, they don't need to provide this code to the community. I'd prefer
to err on the side of being inviting to vendor contributions and bring the
developers into the community, rather than holding them at arm's length and
asking for a clean handoff or insurance policy in case they disappear.
We've seen community members jump jobs and still stick around because they
found an inviting environment where their contributions were welcomed and
valued, and they grew within the community, and I almost consider that
culture more important than ensuring any maintainer's duties can be
replaced by someone else in the community.

Then again, I'm only tangentially involved in the community right now,
so I won't feel bad if anyone takes my opinion with a grain of salt.

 TL; DR - While I'd really, really like to see vendors provide support
to make their plugins testable by the community, I don't think that it buys
us much in regards to maintaining the plugin if the vendor stops their
community involvement, short of having donated hardware with perpetual
license and free updates. As such, I'd rather lower the bar for developers
to maintain their plugin code, with the fallback of being able to easily
remove abandoned plugin code as a last resort.

On Tue, Nov 3, 2015 at 12:11 PM, John Burwell 
wrote:

> @ustcweizhou  @remibergsma
>  this is a massive technical debt that we
> are carrying with other plugins, and I think we need to stop to expanding
> that debt. In some cases, we (i.e. ASF) have been granted licenses for
> virtual appliances to test plugin operation (a completely valid way to
> verify operation). For others, we are shipping code that has not been
> verified for a number of releases. In the past, plugins have been
> contributed and tested for a release, but those contributors have not
> remained active to maintain the plugin. Since the community lacks the
> equipment or test rigs, no one else can pick up maintenance -- leaving us
> with bit rotting code. In summary, as a community, we should not be
> accepting the responsibility to support and maintain code whose operation
> we cannot verify -- plugin or core. The question of what to do with
> existing plugi ns that don't meet this criteria is a discussion for 
another
> thread.
>
> —
> Reply to this email directly or view it on GitHub
> .
>



> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14987980#comment-14987980
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user ustcweizhou commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153468143
  
I agree with @remibergsma .
If the plugin is provided by the vendor, I would say they are responsible 
for the code maintenance and update.What we need to check are the changes in 
other projects (api,engine/schema,server,etc).
This PR LGTM +1.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14988021#comment-14988021
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user jburwell commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153473377
  
@ustcweizhou @remibergsma this is a massive technical debt that we are 
carrying with other plugins, and I think we need to stop to expanding that 
debt.  In some cases, we (i.e. ASF) have been granted licenses for virtual 
appliances to test plugin operation (a completely valid way to verify 
operation).  For others, we are shipping code that has not been verified for a 
number of releases.  In the past, plugins have been contributed and tested for 
a release, but those contributors have not remained active to maintain the 
plugin.  Since the community lacks the equipment or test rigs, no one else can 
pick up maintenance -- leaving us with bit rotting code.  In summary, as a 
community, we should not be accepting the responsibility to support and 
maintain code whose operation we cannot verify -- plugin or core.  The question 
of what to do with existing plugins that don't meet this criteria is a 
discussion for another thread.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14987331#comment-14987331
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user jburwell commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153369716
  
@KrisSterckx this plugin is part of the code that is the responsibility of 
the community.  Therefore, we need to verify its operation in addition to the 
core changes.  My understanding is that a virtual device is available for 
testing the plugin.  Is that correct?


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14987324#comment-14987324
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user KrisSterckx commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153367941
  
@jburwell  @remibergsma  Pls note all again that the changes to core are 
very minimal and are limited to convenience extensions only. I would expect 
running the CI should be good in verifying that the plugin changes don't break 
anything in core.

Thanks


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-03 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14987371#comment-14987371
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user KrisSterckx commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153373302
  
@jburwell we have added unit testing and Marvin tests, and we posted the 
results of Marvin in the Jira ticket, but in order to run the Marvin tests you 
need a Nuage VSP solution. I believe that was made clear and it is also 
@remibergsma 's understanding as we talked in Dublin.
Having that said I do understand your request, and we can work at 
facilitating more community testing in next releases. Also we can certainly 
have the conversation on how we can help you on the short hand, or we could 
organize a live demo of the functionality or whatever helps in building trust. 
Thanks.



> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-02 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14985304#comment-14985304
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user KrisSterckx commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153036347
  
Hi

@jburwell can you pls approve if the PR looks good to you now ?

@remibergsma, can you pls suggest how we can continue ? Thanks

Kris


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-02 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14985381#comment-14985381
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user remibergsma commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153051079
  
Hi @KrisSterckx please ping me if all required changes are in and I will do 
another test run. Once that looks good, we can merge it.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-11-02 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14985385#comment-14985385
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user jburwell commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-153051926
  
@KrisSterckx I will re-review late today or early tomorrow.  Also, please 
bear in mind that master is current frozen.  Therefore, approval of this PR 
will simply pend it to be merged once the stabilization work for 4.6 is 
completed and master is re-opened.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-29 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14980059#comment-14980059
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user KrisSterckx commented on the pull request:

https://github.com/apache/cloudstack/pull/801#issuecomment-152114217
  
@jburwell thanks for intensive review. How does it look like? :) thanks


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975895#comment-14975895
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43091274
  
--- Diff: plugins/network-elements/nuage-vsp/pom.xml ---
@@ -28,6 +28,13 @@
 4.6.0-SNAPSHOT
 ../../pom.xml
   
+  
+
+  org.apache.commons
+  commons-lang3
+  ${cs.lang3.version}
+
+  
--- End diff --

Because our client has no dependencies to CloudStack, we had to find a 
common library between the 2 which has a Pair class. Which is 
commons-lang3


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975927#comment-14975927
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43092257
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/UpdateNuageVspDeviceCommand.java
 ---
@@ -0,0 +1,61 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api;
+
+import com.google.common.collect.ImmutableMap;
+
+import java.util.Map;
+
+public class UpdateNuageVspDeviceCommand extends Command {
+
+private final Map _parametersToBeUpdated;
+
+public UpdateNuageVspDeviceCommand(Map 
parametersToBeUpdated) {
+super();
+this._parametersToBeUpdated = 
ImmutableMap.copyOf(parametersToBeUpdated);
+}
+
+public Map getParametersToBeUpdated() {
+return this._parametersToBeUpdated;
+}
+
+@Override
+public boolean executeInSequence() {
+return false;
+}
+
+@Override
+public boolean equals(Object o) {
--- End diff --

Added attributes from the Command super classes.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975928#comment-14975928
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43092262
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/UpdateNuageVspDeviceCommand.java
 ---
@@ -0,0 +1,61 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api;
+
+import com.google.common.collect.ImmutableMap;
+
+import java.util.Map;
+
+public class UpdateNuageVspDeviceCommand extends Command {
+
+private final Map _parametersToBeUpdated;
+
+public UpdateNuageVspDeviceCommand(Map 
parametersToBeUpdated) {
+super();
+this._parametersToBeUpdated = 
ImmutableMap.copyOf(parametersToBeUpdated);
+}
+
+public Map getParametersToBeUpdated() {
+return this._parametersToBeUpdated;
+}
+
+@Override
+public boolean executeInSequence() {
+return false;
+}
+
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+UpdateNuageVspDeviceCommand that = (UpdateNuageVspDeviceCommand) o;
+
+if (_parametersToBeUpdated != null ? 
!_parametersToBeUpdated.equals(that._parametersToBeUpdated) : 
that._parametersToBeUpdated != null)
+return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Added attributes from the Command super classes.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975960#comment-14975960
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093132
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/DeallocateVmVspCommand.java
 ---
@@ -83,9 +92,130 @@ public String getVmUuid() {
 return _vmUuid;
 }
 
+public boolean isExpungingState() {
+return _isExpungingState;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _networkUuid;
+private String _nicFromDdUuid;
+private String _nicMacAddress;
+private String _nicIp4Address;
+private boolean _isL3Network;
+private boolean _isSharedNetwork;
+private String _vpcUuid;
+private String _networksDomainUuid;
+private String _vmInstanceName;
+private String _vmUuid;
+private boolean _isExpungingState;
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder nicFromDbUuid(String nicFromDbUuid) {
+this._nicFromDdUuid = nicFromDbUuid;
+return this;
+}
+
+public Builder nicMacAddress(String nicMacAddress) {
+this._nicMacAddress = nicMacAddress;
+return this;
+}
+
+public Builder nicIp4Address(String nicIp4Address) {
+this._nicIp4Address = nicIp4Address;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isSharedNetwork(boolean isSharedNetwork) {
+this._isSharedNetwork = isSharedNetwork;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder networksDomainUuid(String networksDomainUuid) {
+this._networksDomainUuid = networksDomainUuid;
+return this;
+}
+
+public Builder vmInstanceName(String vmInstanceName) {
+this._vmInstanceName = vmInstanceName;
+return this;
+}
+
+public Builder vmUuid(String vmUuid) {
+this._vmUuid = vmUuid;
+return this;
+}
+
+public Builder isExpungingState(boolean isExpungingState) {
+this._isExpungingState = isExpungingState;
+return this;
+}
+
+@Override
+public DeallocateVmVspCommand build() {
+return new DeallocateVmVspCommand(_networkUuid,_nicFromDdUuid, 
_nicMacAddress, _nicIp4Address, _isL3Network, _isSharedNetwork, _vpcUuid,
+_networksDomainUuid, _vmInstanceName, _vmUuid, 
_isExpungingState);
+}
+}
+
 @Override
 public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975961#comment-14975961
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093140
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/DeallocateVmVspCommand.java
 ---
@@ -83,9 +92,130 @@ public String getVmUuid() {
 return _vmUuid;
 }
 
+public boolean isExpungingState() {
+return _isExpungingState;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _networkUuid;
+private String _nicFromDdUuid;
+private String _nicMacAddress;
+private String _nicIp4Address;
+private boolean _isL3Network;
+private boolean _isSharedNetwork;
+private String _vpcUuid;
+private String _networksDomainUuid;
+private String _vmInstanceName;
+private String _vmUuid;
+private boolean _isExpungingState;
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder nicFromDbUuid(String nicFromDbUuid) {
+this._nicFromDdUuid = nicFromDbUuid;
+return this;
+}
+
+public Builder nicMacAddress(String nicMacAddress) {
+this._nicMacAddress = nicMacAddress;
+return this;
+}
+
+public Builder nicIp4Address(String nicIp4Address) {
+this._nicIp4Address = nicIp4Address;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isSharedNetwork(boolean isSharedNetwork) {
+this._isSharedNetwork = isSharedNetwork;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder networksDomainUuid(String networksDomainUuid) {
+this._networksDomainUuid = networksDomainUuid;
+return this;
+}
+
+public Builder vmInstanceName(String vmInstanceName) {
+this._vmInstanceName = vmInstanceName;
+return this;
+}
+
+public Builder vmUuid(String vmUuid) {
+this._vmUuid = vmUuid;
+return this;
+}
+
+public Builder isExpungingState(boolean isExpungingState) {
+this._isExpungingState = isExpungingState;
+return this;
+}
+
+@Override
+public DeallocateVmVspCommand build() {
+return new DeallocateVmVspCommand(_networkUuid,_nicFromDdUuid, 
_nicMacAddress, _nicIp4Address, _isL3Network, _isSharedNetwork, _vpcUuid,
+_networksDomainUuid, _vmInstanceName, _vmUuid, 
_isExpungingState);
+}
+}
+
 @Override
 public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+DeallocateVmVspCommand that = (DeallocateVmVspCommand) o;
+
+if (_isExpungingState != that._isExpungingState) return false;
+if (_isL3Network != that._isL3Network) return false;
+if (_isSharedNetwork != that._isSharedNetwork) return false;
+if (_networkUuid != null ? !_networkUuid.equals(that._networkUuid) 
: that._networkUuid != null) return false;
+if (_networksDomainUuid != null ? 
!_networksDomainUuid.equals(that._networksDomainUuid) : 
that._networksDomainUuid != null)
+return false;
+if (_nicFromDdUuid != null ? 
!_nicFromDdUuid.equals(that._nicFromDdUuid) : that._nicFromDdUuid != null)
+return false;
+if (_nicIp4Address != null ? 
!_nicIp4Address.equals(that._nicIp4Address) : that._nicIp4Address != null)
+return false;
+if (_nicMacAddress != null ? 
!_nicMacAddress.equals(that._nicMacAddress) : that._nicMacAddress != null)
+return false;
+if (_vmInstanceName != null ? 
!_vmInstanceName.equals(that._vmInstanceName) : that._vmInstanceName != null)
+return false;
+if (_vmUuid != null ? 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975965#comment-14975965
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093160
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ImplementNetworkVspCommand.java
 ---
@@ -112,13 +147,212 @@ public boolean isDefaultEgressPolicy() {
 return _defaultEgressPolicy;
 }
 
-public Collection getIpAddressRange() {
+public Collection getIpAddressRange() {
 return _ipAddressRange;
 }
 
+public String getDomainTemplateName() {
+return _domainTemplateName;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _networkDomainName;
+private String _networkDomainPath;
+private String _networkDomainUuid;
+private String _networkAccountName;
+private String _networkAccountUuid;
+private String _networkName;
+private String _networkCidr;
+private String _networkGateway;
+private Long _networkAclId;
+private List _dnsServers;
+private List _gatewaySystemIds;
+private String _networkUuid;
+private boolean _isL3Network;
+private boolean _isVpc;
+private boolean _isSharedNetwork;
+private String _vpcName;
+private String _vpcUuid;
+private boolean _defaultEgressPolicy;
+private List _ipAddressRange;
+private String _domainTemplateName;
+
+public Builder networkDomainName(String networkDomainName) {
+this._networkDomainName = networkDomainName;
+return this;
+}
+
+public Builder networkDomainPath(String networkDomainPath) {
+this._networkDomainPath = networkDomainPath;
+return this;
+}
+
+public Builder networkDomainUuid(String networkDomainUuid) {
+this._networkDomainUuid = networkDomainUuid;
+return this;
+}
+
+public Builder networkAccountName(String networkAccountName) {
+this._networkAccountName = networkAccountName;
+return this;
+}
+
+public Builder networkAccountUuid(String networkAccountUuid) {
+this._networkAccountUuid = networkAccountUuid;
+return this;
+}
+
+public Builder networkName(String networkName) {
+this._networkName = networkName;
+return this;
+}
+
+public Builder networkCidr(String networkCidr) {
+this._networkCidr = networkCidr;
+return this;
+}
+
+public Builder networkGateway(String networkGateway) {
+this._networkGateway = networkGateway;
+return this;
+}
+
+public Builder networkAclId(Long networkAclId) {
+this._networkAclId = networkAclId;
+return this;
+}
+
+public Builder dnsServers(List dnsServers) {
+this._dnsServers = dnsServers;
+return this;
+}
+
+public Builder gatewaySystemIds(List gatewaySystemIds) {
+this._gatewaySystemIds = gatewaySystemIds;
+return this;
+}
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isVpc(boolean isVpc) {
+this._isVpc = isVpc;
+return this;
+}
+
+public Builder isSharedNetwork(boolean isSharedNetwork) {
+this._isSharedNetwork = isSharedNetwork;
+return this;
+}
+
+public Builder vpcName(String vpcName) {
+this._vpcName = vpcName;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder defaultEgressPolicy(boolean defaultEgressPolicy) {
+this._defaultEgressPolicy = defaultEgressPolicy;
+return this;
+}
+
+public Builder 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975963#comment-14975963
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093154
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ImplementNetworkVspCommand.java
 ---
@@ -112,13 +147,212 @@ public boolean isDefaultEgressPolicy() {
 return _defaultEgressPolicy;
 }
 
-public Collection getIpAddressRange() {
+public Collection getIpAddressRange() {
 return _ipAddressRange;
 }
 
+public String getDomainTemplateName() {
+return _domainTemplateName;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _networkDomainName;
+private String _networkDomainPath;
+private String _networkDomainUuid;
+private String _networkAccountName;
+private String _networkAccountUuid;
+private String _networkName;
+private String _networkCidr;
+private String _networkGateway;
+private Long _networkAclId;
+private List _dnsServers;
+private List _gatewaySystemIds;
+private String _networkUuid;
+private boolean _isL3Network;
+private boolean _isVpc;
+private boolean _isSharedNetwork;
+private String _vpcName;
+private String _vpcUuid;
+private boolean _defaultEgressPolicy;
+private List _ipAddressRange;
+private String _domainTemplateName;
+
+public Builder networkDomainName(String networkDomainName) {
+this._networkDomainName = networkDomainName;
+return this;
+}
+
+public Builder networkDomainPath(String networkDomainPath) {
+this._networkDomainPath = networkDomainPath;
+return this;
+}
+
+public Builder networkDomainUuid(String networkDomainUuid) {
+this._networkDomainUuid = networkDomainUuid;
+return this;
+}
+
+public Builder networkAccountName(String networkAccountName) {
+this._networkAccountName = networkAccountName;
+return this;
+}
+
+public Builder networkAccountUuid(String networkAccountUuid) {
+this._networkAccountUuid = networkAccountUuid;
+return this;
+}
+
+public Builder networkName(String networkName) {
+this._networkName = networkName;
+return this;
+}
+
+public Builder networkCidr(String networkCidr) {
+this._networkCidr = networkCidr;
+return this;
+}
+
+public Builder networkGateway(String networkGateway) {
+this._networkGateway = networkGateway;
+return this;
+}
+
+public Builder networkAclId(Long networkAclId) {
+this._networkAclId = networkAclId;
+return this;
+}
+
+public Builder dnsServers(List dnsServers) {
+this._dnsServers = dnsServers;
+return this;
+}
+
+public Builder gatewaySystemIds(List gatewaySystemIds) {
+this._gatewaySystemIds = gatewaySystemIds;
+return this;
+}
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isVpc(boolean isVpc) {
+this._isVpc = isVpc;
+return this;
+}
+
+public Builder isSharedNetwork(boolean isSharedNetwork) {
+this._isSharedNetwork = isSharedNetwork;
+return this;
+}
+
+public Builder vpcName(String vpcName) {
+this._vpcName = vpcName;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder defaultEgressPolicy(boolean defaultEgressPolicy) {
+this._defaultEgressPolicy = defaultEgressPolicy;
+return this;
+}
+
+public Builder 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975956#comment-14975956
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093076
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ShutDownVpcVspCommand.java
 ---
@@ -40,9 +43,61 @@ public String getVpcUuid() {
 return _vpcUuid;
 }
 
+public String getDomainTemplateName() {
+return _domainTemplateName;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _domainUuid;
+private String _vpcUuid;
+private String _domainTemplateName;
+
+public Builder domainUuid(String domainUuid) {
+this._domainUuid = domainUuid;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder domainTemplateName(String domainTemplateName) {
+this._domainTemplateName = domainTemplateName;
+return this;
+}
+
+@Override
+public ShutDownVpcVspCommand build() {
+return new ShutDownVpcVspCommand(_domainUuid, _vpcUuid, 
_domainTemplateName);
+}
+}
+
 @Override
 public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975969#comment-14975969
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093227
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/TrashNetworkVspCommand.java
 ---
@@ -48,13 +53,93 @@ public boolean isL3Network() {
 return _isL3Network;
 }
 
+public boolean isSharedNetwork() {
+return _isSharedNetwork;
+}
+
 public String getVpcUuid() {
 return _vpcUuid;
 }
 
+public String getDomainTemplateName() {
+return _domainTemplateName;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _domainUuid;
+private String _networkUuid;
+private boolean _isL3Network;
+private boolean _isSharedNetwork;
+private String _vpcUuid;
+private String _domainTemplateName;
+
+public Builder domainUuid(String domainUuid) {
+this._domainUuid = domainUuid;
+return this;
+}
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isSharedNetwork(boolean isSharedNetwork) {
+this._isSharedNetwork = isSharedNetwork;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder domainTemplateName(String domainTemplateName) {
+this._domainTemplateName = domainTemplateName;
+return this;
+}
+
+@Override
+public TrashNetworkVspCommand build() {
+return new TrashNetworkVspCommand(_domainUuid, _networkUuid, 
_isL3Network, _isSharedNetwork, _vpcUuid, _domainTemplateName);
+}
+}
+
 @Override
 public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+TrashNetworkVspCommand that = (TrashNetworkVspCommand) o;
+
+if (_isL3Network != that._isL3Network) return false;
+if (_isSharedNetwork != that._isSharedNetwork) return false;
+if (_domainTemplateName != null ? 
!_domainTemplateName.equals(that._domainTemplateName) : 
that._domainTemplateName != null)
+return false;
+if (_domainUuid != null ? !_domainUuid.equals(that._domainUuid) : 
that._domainUuid != null) return false;
+if (_networkUuid != null ? !_networkUuid.equals(that._networkUuid) 
: that._networkUuid != null) return false;
+if (_vpcUuid != null ? !_vpcUuid.equals(that._vpcUuid) : 
that._vpcUuid != null) return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976022#comment-14976022
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43094914
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 ---
@@ -483,7 +663,7 @@ protected HostVO getNuageVspHost(Long 
physicalNetworkId) throws CloudException {
 nuageVspHost = _hostDao.findById(config.getHostId());
 _hostDao.loadDetails(nuageVspHost);
 } else {
-throw new CloudException("Nuage VSD is not configured on 
physical network " + physicalNetworkId);
+throw new CloudRuntimeException("Nuage VSD is not configured 
on physical network " + physicalNetworkId);
--- End diff --

Changed code to throw new CloudRuntimeException("There is not Nuage 
VSP device configured on physical network " + physicalNetworkId). We 
can't identify about the Nuage VSP device that failed since there is none 
configured.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975887#comment-14975887
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43091029
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/guru/NuageVspGuestNetworkGuru.java
 ---
@@ -358,19 +441,22 @@ private String getVirtualRouterIP(Network network, 
Collection addressRan
 Set allIPsInCidr = NetUtils.getAllIpsFromCidr(subnet, 
cidrSize, new HashSet());
 
 if (allIPsInCidr.size() > 3) {
+//get the second IP and see if it the networks GatewayIP
 Iterator ipIterator = allIPsInCidr.iterator();
 long vip = ipIterator.next();
--- End diff --

Added your piece of code as extra validation for the returned Set.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975899#comment-14975899
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43091431
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 ---
@@ -67,25 +74,76 @@
 import com.cloud.network.dao.PhysicalNetworkVO;
 import com.cloud.network.resource.NuageVspResource;
 import com.cloud.network.sync.NuageVspSync;
+import com.cloud.network.vpc.VpcManager;
+import com.cloud.network.vpc.VpcOffering;
+import com.cloud.network.vpc.VpcOfferingServiceMapVO;
+import com.cloud.network.vpc.VpcOfferingVO;
 import com.cloud.network.vpc.dao.VpcDao;
 import com.cloud.network.vpc.dao.VpcOfferingDao;
 import com.cloud.network.vpc.dao.VpcOfferingServiceMapDao;
+import com.cloud.network.vpc.dao.VpcServiceMapDao;
+import com.cloud.offering.NetworkOffering;
+import com.cloud.offerings.NetworkOfferingServiceMapVO;
+import com.cloud.offerings.NetworkOfferingVO;
+import com.cloud.offerings.dao.NetworkOfferingDao;
+import com.cloud.offerings.dao.NetworkOfferingServiceMapDao;
 import com.cloud.resource.ResourceManager;
 import com.cloud.resource.ResourceState;
 import com.cloud.resource.ServerResource;
+import com.cloud.user.AccountManager;
+import com.cloud.user.DomainManager;
 import com.cloud.utils.component.ManagerBase;
+import com.cloud.utils.db.DB;
 import com.cloud.utils.db.Transaction;
 import com.cloud.utils.db.TransactionCallback;
+import com.cloud.utils.db.TransactionCallbackNoReturn;
 import com.cloud.utils.db.TransactionStatus;
 import com.cloud.utils.exception.CloudRuntimeException;
+import com.cloud.utils.fsm.StateListener;
+import com.cloud.utils.fsm.StateMachine2;
+import com.google.common.base.MoreObjects;
+import com.google.common.base.Strings;
+import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
+import net.nuage.vsp.acs.NuageVspPluginClientLoader;
+import org.apache.cloudstack.framework.config.ConfigKey;
+import org.apache.cloudstack.framework.config.Configurable;
+import org.apache.cloudstack.framework.config.dao.ConfigurationDao;
+import org.apache.cloudstack.framework.config.impl.ConfigurationVO;
+import org.apache.cloudstack.framework.messagebus.MessageBus;
+import org.apache.cloudstack.framework.messagebus.MessageSubscriber;
+import org.apache.cloudstack.network.ExternalNetworkDeviceManager;
+import org.apache.commons.codec.binary.Base64;
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.log4j.Logger;
+
+import javax.ejb.Local;
+import javax.inject.Inject;
+import javax.naming.ConfigurationException;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.StringTokenizer;
+import java.util.UUID;
+import java.util.concurrent.ScheduledExecutorService;
+
+import static com.cloud.agent.api.sync.SyncNuageVspCmsIdCommand.SyncType;
 
 @Local(value = {NuageVspManager.class})
-public class NuageVspManagerImpl extends ManagerBase implements 
NuageVspManager, Configurable {
+public class NuageVspManagerImpl extends ManagerBase implements 
NuageVspManager, Configurable, StateListener {
 
 private static final Logger s_logger = 
Logger.getLogger(NuageVspManagerImpl.class);
 
 private static final int ONE_MINUTE_MULTIPLIER = 60 * 1000;
 
+private static final Set NUAGE_VSP_PROVIDERS;
+private static final Map 
NUAGE_VSP_VPC_SERVICE_MAP;
+private static final ConfigKey[] NUAGE_VSP_CONFIG_KEYS = new 
ConfigKey[] { NuageVspConfigDns, NuageVspDnsExternal, NuageVspConfigGateway,
--- End diff --

Returning a copy of the array instead of the array itself now.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975914#comment-14975914
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43091944
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/PingNuageVspCommand.java
 ---
@@ -17,18 +17,37 @@
 // under the License.
 //
 
-package com.cloud.agent.api.element;
+package com.cloud.agent.api;
 
-import com.cloud.agent.api.Answer;
+import com.cloud.host.Host;
 
-public class ShutDownVpcVspAnswer extends Answer {
+public class PingNuageVspCommand extends PingCommand {
 
-public ShutDownVpcVspAnswer(ShutDownVpcVspCommand cmd, boolean 
success, String details) {
-super(cmd, success, details);
+private final boolean shouldAudit;
+
+public PingNuageVspCommand(Host.Type type, long id, boolean 
shouldAudit) {
+super(type, id);
+this.shouldAudit = shouldAudit;
 }
 
-public ShutDownVpcVspAnswer(ShutDownVpcVspCommand cmd, Exception e) {
-super(cmd, e);
+public boolean shouldAudit() {
+return shouldAudit;
 }
 
+@Override
+public boolean equals(Object o) {
--- End diff --

Added attributes from the PingCommand super class.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975915#comment-14975915
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43091957
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/PingNuageVspCommand.java
 ---
@@ -17,18 +17,37 @@
 // under the License.
 //
 
-package com.cloud.agent.api.element;
+package com.cloud.agent.api;
 
-import com.cloud.agent.api.Answer;
+import com.cloud.host.Host;
 
-public class ShutDownVpcVspAnswer extends Answer {
+public class PingNuageVspCommand extends PingCommand {
 
-public ShutDownVpcVspAnswer(ShutDownVpcVspCommand cmd, boolean 
success, String details) {
-super(cmd, success, details);
+private final boolean shouldAudit;
+
+public PingNuageVspCommand(Host.Type type, long id, boolean 
shouldAudit) {
+super(type, id);
+this.shouldAudit = shouldAudit;
 }
 
-public ShutDownVpcVspAnswer(ShutDownVpcVspCommand cmd, Exception e) {
-super(cmd, e);
+public boolean shouldAudit() {
+return shouldAudit;
 }
 
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+PingNuageVspCommand that = (PingNuageVspCommand) o;
+
+if (shouldAudit != that.shouldAudit) return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Added attributes from the PingCommand super class.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975942#comment-14975942
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43092964
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyAclRuleVspCommand.java
 ---
@@ -79,4 +191,47 @@ public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975940#comment-14975940
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43092950
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyAclRuleVspCommand.java
 ---
@@ -58,20 +73,117 @@ public String getVpcOrSubnetUuid() {
 return _vpcOrSubnetUuid;
 }
 
-public boolean isL3Network() {
-return _isL3Network;
+public String getNetworkName() {
+return _networkName;
+}
+
+public boolean isL2Network() {
+return _isL2Network;
 }
 
 public List> getAclRules() {
 return _aclRules;
 }
 
-public boolean isVpc() {
-return _isVpc;
+public long getNetworkId() {
+return _networkId;
 }
 
-public long getNetworkId() {
-return this._networkId;
+public boolean isEgressDefaultPolicy() {
+return _egressDefaultPolicy;
+}
+
+public Boolean getAcsIngressAcl() {
+return _acsIngressAcl;
+}
+
+public boolean isNetworkReset() {
+return _networkReset;
+}
+
+public String getDomainTemplateName() {
+return _domainTemplateName;
+}
+
+public static class Builder implements 
CmdBuilder {
--- End diff --

No, there shouldn't be any default values in my opinion.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975945#comment-14975945
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43092995
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyAclRuleVspCommand.java
 ---
@@ -79,4 +191,47 @@ public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+ApplyAclRuleVspCommand that = (ApplyAclRuleVspCommand) o;
+
+if (_egressDefaultPolicy != that._egressDefaultPolicy) return 
false;
+if (_isL2Network != that._isL2Network) return false;
+if (_networkAcl != that._networkAcl) return false;
+if (_networkId != that._networkId) return false;
+if (_networkReset != that._networkReset) return false;
+if (_aclRules != null ? !_aclRules.equals(that._aclRules) : 
that._aclRules != null) return false;
+if (_acsIngressAcl != null ? 
!_acsIngressAcl.equals(that._acsIngressAcl) : that._acsIngressAcl != null)
+return false;
+if (_domainTemplateName != null ? 
!_domainTemplateName.equals(that._domainTemplateName) : 
that._domainTemplateName != null)
+return false;
+if (_networkDomainUuid != null ? 
!_networkDomainUuid.equals(that._networkDomainUuid) : that._networkDomainUuid 
!= null)
+return false;
+if (_networkName != null ? !_networkName.equals(that._networkName) 
: that._networkName != null) return false;
+if (_networkUuid != null ? !_networkUuid.equals(that._networkUuid) 
: that._networkUuid != null) return false;
+if (_vpcOrSubnetUuid != null ? 
!_vpcOrSubnetUuid.equals(that._vpcOrSubnetUuid) : that._vpcOrSubnetUuid != null)
+return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975966#comment-14975966
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093192
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ReserveVmInterfaceVspCommand.java
 ---
@@ -87,29 +114,285 @@ public boolean isDomainRouter() {
 return _isDomainRouter;
 }
 
-public String _getDomainRouterIp() {
+public String getDomainRouterIp() {
 return _domainRouterIp;
 }
 
-public String _getVmInstanceName() {
+public String getVmInstanceName() {
 return _vmInstanceName;
 }
 
-public String _getVmUuid() {
+public String getVmUuid() {
 return _vmUuid;
 }
 
-public String _getVmUserName() {
+public String getVmUserName() {
 return _vmUserName;
 }
 
-public String _getVmUserDomainName() {
+public String getVmUserDomainName() {
 return _vmUserDomainName;
 }
 
+public boolean useStaticIp() {
+return _useStaticIp;
+}
+
+public String getStaticIp() {
+return _staticIp;
+}
+
+public String getStaticNatIpUuid() {
+return _staticNatIpUuid;
+}
+
+public String getStaticNatIpAddress() {
+return _staticNatIpAddress;
+}
+
+public boolean isStaticNatIpAllocated() {
+return _isStaticNatIpAllocated;
+}
+
+public boolean isOneToOneNat() {
+return _isOneToOneNat;
+}
+
+public String getStaticNatVlanUuid() {
+return _staticNatVlanUuid;
+}
+
+public String getStaticNatVlanGateway() {
+return _staticNatVlanGateway;
+}
+
+public String getStaticNatVlanNetmask() {
+return _staticNatVlanNetmask;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _nicUuid;
+private String _nicMacAddress;
+private String _networkUuid;
+private boolean _isL3Network;
+private boolean _isSharedNetwork;
+private String _vpcUuid;
+private String _networkDomainUuid;
+private String _networksAccountUuid;
+private boolean _isDomainRouter;
+private String _domainRouterIp;
+private String _vmInstanceName;
+private String _vmUuid;
+private String _vmUserName;
+private String _vmUserDomainName;
+private boolean _useStaticIp;
+private String _staticIp;
+private String _staticNatIpUuid;
+private String _staticNatIpAddress;
+private boolean _isStaticNatIpAllocated;
+private boolean _isOneToOneNat;
+private String _staticNatVlanUuid;
+private String _staticNatVlanGateway;
+private String _staticNatVlanNetmask;
+
+public Builder nicUuid(String nicUuid) {
+this._nicUuid = nicUuid;
+return this;
+}
+
+public Builder nicMacAddress(String nicMacAddress) {
+this._nicMacAddress = nicMacAddress;
+return this;
+}
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isSharedNetwork(boolean isSharedNetwork) {
+this._isSharedNetwork = isSharedNetwork;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder networkDomainUuid(String networkDomainUuid) {
+this._networkDomainUuid = networkDomainUuid;
+return this;
+}
+
+public Builder networksAccountUuid(String networksAccountUuid) {
+this._networksAccountUuid = networksAccountUuid;
+return this;
+}
+
+public Builder isDomainRouter(boolean isDomainRouter) {
+this._isDomainRouter = isDomainRouter;
+return this;
+}
+
+public Builder domainRouterIp(String domainRouterIp) {
+this._domainRouterIp = domainRouterIp;
  

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975968#comment-14975968
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093221
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/TrashNetworkVspCommand.java
 ---
@@ -48,13 +53,93 @@ public boolean isL3Network() {
 return _isL3Network;
 }
 
+public boolean isSharedNetwork() {
+return _isSharedNetwork;
+}
+
 public String getVpcUuid() {
 return _vpcUuid;
 }
 
+public String getDomainTemplateName() {
+return _domainTemplateName;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _domainUuid;
+private String _networkUuid;
+private boolean _isL3Network;
+private boolean _isSharedNetwork;
+private String _vpcUuid;
+private String _domainTemplateName;
+
+public Builder domainUuid(String domainUuid) {
+this._domainUuid = domainUuid;
+return this;
+}
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isSharedNetwork(boolean isSharedNetwork) {
+this._isSharedNetwork = isSharedNetwork;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder domainTemplateName(String domainTemplateName) {
+this._domainTemplateName = domainTemplateName;
+return this;
+}
+
+@Override
+public TrashNetworkVspCommand build() {
+return new TrashNetworkVspCommand(_domainUuid, _networkUuid, 
_isL3Network, _isSharedNetwork, _vpcUuid, _domainTemplateName);
+}
+}
+
 @Override
 public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975967#comment-14975967
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093202
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/guru/ReserveVmInterfaceVspCommand.java
 ---
@@ -87,29 +114,285 @@ public boolean isDomainRouter() {
 return _isDomainRouter;
 }
 
-public String _getDomainRouterIp() {
+public String getDomainRouterIp() {
 return _domainRouterIp;
 }
 
-public String _getVmInstanceName() {
+public String getVmInstanceName() {
 return _vmInstanceName;
 }
 
-public String _getVmUuid() {
+public String getVmUuid() {
 return _vmUuid;
 }
 
-public String _getVmUserName() {
+public String getVmUserName() {
 return _vmUserName;
 }
 
-public String _getVmUserDomainName() {
+public String getVmUserDomainName() {
 return _vmUserDomainName;
 }
 
+public boolean useStaticIp() {
+return _useStaticIp;
+}
+
+public String getStaticIp() {
+return _staticIp;
+}
+
+public String getStaticNatIpUuid() {
+return _staticNatIpUuid;
+}
+
+public String getStaticNatIpAddress() {
+return _staticNatIpAddress;
+}
+
+public boolean isStaticNatIpAllocated() {
+return _isStaticNatIpAllocated;
+}
+
+public boolean isOneToOneNat() {
+return _isOneToOneNat;
+}
+
+public String getStaticNatVlanUuid() {
+return _staticNatVlanUuid;
+}
+
+public String getStaticNatVlanGateway() {
+return _staticNatVlanGateway;
+}
+
+public String getStaticNatVlanNetmask() {
+return _staticNatVlanNetmask;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _nicUuid;
+private String _nicMacAddress;
+private String _networkUuid;
+private boolean _isL3Network;
+private boolean _isSharedNetwork;
+private String _vpcUuid;
+private String _networkDomainUuid;
+private String _networksAccountUuid;
+private boolean _isDomainRouter;
+private String _domainRouterIp;
+private String _vmInstanceName;
+private String _vmUuid;
+private String _vmUserName;
+private String _vmUserDomainName;
+private boolean _useStaticIp;
+private String _staticIp;
+private String _staticNatIpUuid;
+private String _staticNatIpAddress;
+private boolean _isStaticNatIpAllocated;
+private boolean _isOneToOneNat;
+private String _staticNatVlanUuid;
+private String _staticNatVlanGateway;
+private String _staticNatVlanNetmask;
+
+public Builder nicUuid(String nicUuid) {
+this._nicUuid = nicUuid;
+return this;
+}
+
+public Builder nicMacAddress(String nicMacAddress) {
+this._nicMacAddress = nicMacAddress;
+return this;
+}
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isSharedNetwork(boolean isSharedNetwork) {
+this._isSharedNetwork = isSharedNetwork;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder networkDomainUuid(String networkDomainUuid) {
+this._networkDomainUuid = networkDomainUuid;
+return this;
+}
+
+public Builder networksAccountUuid(String networksAccountUuid) {
+this._networksAccountUuid = networksAccountUuid;
+return this;
+}
+
+public Builder isDomainRouter(boolean isDomainRouter) {
+this._isDomainRouter = isDomainRouter;
+return this;
+}
+
+public Builder domainRouterIp(String domainRouterIp) {
+this._domainRouterIp = domainRouterIp;
  

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975970#comment-14975970
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093300
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/manager/GetClientDefaultsAnswer.java
 ---
@@ -0,0 +1,79 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.manager;
+
+import com.cloud.agent.api.Answer;
+
+import java.util.Map;
+
+public class GetClientDefaultsAnswer extends Answer {
+
+private String _currentApiVersion;
+private Integer _apiRetryCount;
+private Long _apiRetryInterval;
+
+public GetClientDefaultsAnswer(GetClientDefaultsCommand cmd, 
Map defaults) {
+super(cmd);
+this._currentApiVersion = (String) 
defaults.get("CURRENT_API_VERSION");
+this._apiRetryCount = (Integer) 
defaults.get("DEFAULT_API_RETRY_COUNT");
+this._apiRetryInterval = (Long) 
defaults.get("DEFAULT_API_RETRY_INTERVAL");
+}
+
+public GetClientDefaultsAnswer(GetClientDefaultsCommand cmd, Exception 
e) {
+super(cmd, e);
+}
+
+public String getCurrentApiVersion() {
+return _currentApiVersion;
+}
+
+public Integer getApiRetryCount() {
+return _apiRetryCount;
+}
+
+public Long getApiRetryInterval() {
+return _apiRetryInterval;
+}
+
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Answer super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975971#comment-14975971
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093317
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/manager/GetClientDefaultsAnswer.java
 ---
@@ -0,0 +1,79 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.manager;
+
+import com.cloud.agent.api.Answer;
+
+import java.util.Map;
+
+public class GetClientDefaultsAnswer extends Answer {
+
+private String _currentApiVersion;
+private Integer _apiRetryCount;
+private Long _apiRetryInterval;
+
+public GetClientDefaultsAnswer(GetClientDefaultsCommand cmd, 
Map defaults) {
+super(cmd);
+this._currentApiVersion = (String) 
defaults.get("CURRENT_API_VERSION");
+this._apiRetryCount = (Integer) 
defaults.get("DEFAULT_API_RETRY_COUNT");
+this._apiRetryInterval = (Long) 
defaults.get("DEFAULT_API_RETRY_INTERVAL");
+}
+
+public GetClientDefaultsAnswer(GetClientDefaultsCommand cmd, Exception 
e) {
+super(cmd, e);
+}
+
+public String getCurrentApiVersion() {
+return _currentApiVersion;
+}
+
+public Integer getApiRetryCount() {
+return _apiRetryCount;
+}
+
+public Long getApiRetryInterval() {
+return _apiRetryInterval;
+}
+
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+GetClientDefaultsAnswer that = (GetClientDefaultsAnswer) o;
+
+if (_apiRetryCount != null ? 
!_apiRetryCount.equals(that._apiRetryCount) : that._apiRetryCount != null)
+return false;
+if (_apiRetryInterval != null ? 
!_apiRetryInterval.equals(that._apiRetryInterval) : that._apiRetryInterval != 
null)
+return false;
+if (_currentApiVersion != null ? 
!_currentApiVersion.equals(that._currentApiVersion) : that._currentApiVersion 
!= null)
+return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Answer super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975998#comment-14975998
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093698
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 ---
@@ -194,7 +224,23 @@ public boolean configure(String name, Map params) throws Configu
 @Override
 public boolean implement(Network network, NetworkOffering offering, 
DeployDestination dest, ReservationContext context) throws 
ConcurrentOperationException,
 ResourceUnavailableException, InsufficientCapacityException {
-s_logger.debug("Entering NuageElement implement function for 
network " + network.getDisplayText() + " (state " + network.getState() + ")");
+if (s_logger.isDebugEnabled()) {
+s_logger.debug("Entering NuageElement implement function for 
network " + network.getDisplayText() + " (state " + network.getState() + ")");
+}
+
+if (network.getVpcId() != null) {
+List rules;
+if (network.getNetworkACLId() != null) {
+rules = 
_networkACLItemDao.listByACL(network.getNetworkACLId());
+} else {
+rules = Collections.emptyList();
+}
--- End diff --

Changed parameter of NetworKACLItemDAO.listByACL(long) to 
Long, and returning an empty list in case of null.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976003#comment-14976003
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093875
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 ---
@@ -303,13 +414,17 @@ protected boolean canHandle(Network network, Service 
service) {
 }
 
 if (!_networkModel.isProviderForNetwork(getProvider(), 
network.getId())) {
-s_logger.debug("NuageElement is not a provider for network " + 
network.getDisplayText());
+if (s_logger.isDebugEnabled()) {
+s_logger.debug("NuageVsp is not a provider for network " + 
network.getDisplayText());
--- End diff --

This code is just checking whether NuageVsp is included as provider for the 
given network, no need for specific information about the Nuage VSP.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975880#comment-14975880
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43090554
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 ---
@@ -205,6 +250,75 @@ public boolean implement(Network network, 
NetworkOffering offering, DeployDestin
 return false;
 }
 
+final boolean egressDefaultPolicy = 
offering.getEgressDefaultPolicy();
+Domain networkDomain = _domainDao.findById(network.getDomainId());
+boolean isFirewallServiceSupported = 
_networkModel.areServicesSupportedByNetworkOffering(offering.getId(), 
Service.Firewall);
+List dnsServers = _nuageVspManager.getDnsDetails(network);
+
+boolean isL2Network = false, isL3Network = false, isShared = false;
+String subnetUuid = network.getUuid();
+if (offering.getGuestType() == Network.GuestType.Shared) {
+isShared = true;
+subnetUuid = networkDomain.getUuid();
+} else if 
(_ntwkOfferingSrvcDao.areServicesSupportedByNetworkOffering(offering.getId(), 
Service.SourceNat)
+|| 
_ntwkOfferingSrvcDao.areServicesSupportedByNetworkOffering(offering.getId(), 
Service.StaticNat)
+|| 
_ntwkOfferingSrvcDao.areServicesSupportedByNetworkOffering(offering.getId(), 
Service.Connectivity)) {
+isL3Network = true;
+} else {
+isL2Network = true;
+}
+
+String preConfiguredDomainTemplateName = 
getPreConfiguredDomainTemplateName(network, offering);
+List firewallIngressRulesToApply =
+
_firewallRulesDao.listByNetworkPurposeTrafficType(network.getId(), 
FirewallRule.Purpose.Firewall, FirewallRule.TrafficType.Ingress);
+for (FirewallRuleVO rule : firewallIngressRulesToApply) {
+// load cidrs if any
+
rule.setSourceCidrList(_firewallRulesCidrsDao.getSourceCidrs(rule.getId()));
+}
+
+List firewallEgressRulesToApply =
+
_firewallRulesDao.listByNetworkPurposeTrafficType(network.getId(), 
FirewallRule.Purpose.Firewall, FirewallRule.TrafficType.Egress);
+for (FirewallRuleVO rule : firewallEgressRulesToApply) {
+// load cidrs if any
+
rule.setSourceCidrList(_firewallRulesCidrsDao.getSourceCidrs(rule.getId()));
+}
+
+List> ingressFirewallRules = 
Lists.transform(firewallIngressRulesToApply, new Function>() {
+@Override
+public Map apply(FirewallRuleVO 
firewallRuleVO) {
+return getACLRuleDetails(firewallRuleVO, 
egressDefaultPolicy);
+}
+});
+
+List> egressFirewallRules = 
Lists.transform(firewallEgressRulesToApply, new Function>() {
--- End diff --

Refactored so the transformation is done in a method used for retrieving 
both lists.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975879#comment-14975879
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43090521
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 ---
@@ -129,6 +145,18 @@
 AgentManager _agentMgr;
 @Inject
 NetworkOfferingDao _ntwkOfferingDao;
+@Inject
+ConfigurationDao _configDao;
+@Inject
+NuageVspManager _nuageVspManager;
+@Inject
+FirewallRulesDao _firewallRulesDao;
+@Inject
+FirewallRulesCidrsDao _firewallRulesCidrsDao;
+@Inject
+PhysicalNetworkDao _physicalNetworkDao;
+@Inject
+NetworkACLItemDao _networkACLItemDao;
 
 @Override
 public boolean applyIps(Network network, List ipAddress, Set service) throws 
ResourceUnavailableException {
--- End diff --

I moved some code here and there, it's shortened now by decomposing into 
smaller private methods.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975938#comment-14975938
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43092627
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/VspResourceCommand.java
 ---
@@ -79,4 +79,41 @@ public String getProxyUserDomainuuid() {
 public boolean executeInSequence() {
 return false;
 }
+
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+VspResourceCommand that = (VspResourceCommand) o;
+
+if (_childResource != null ? 
!_childResource.equals(that._childResource) : that._childResource != null)
+return false;
+if (_entityDetails != null ? 
!_entityDetails.equals(that._entityDetails) : that._entityDetails != null)
+return false;
+if (_method != null ? !_method.equals(that._method) : that._method 
!= null) return false;
+if (_proxyUserDomainuuid != null ? 
!_proxyUserDomainuuid.equals(that._proxyUserDomainuuid) : 
that._proxyUserDomainuuid != null)
+return false;
+if (_proxyUserUuid != null ? 
!_proxyUserUuid.equals(that._proxyUserUuid) : that._proxyUserUuid != null)
+return false;
+if (_resource != null ? !_resource.equals(that._resource) : 
that._resource != null) return false;
+if (_resourceFilter != null ? 
!_resourceFilter.equals(that._resourceFilter) : that._resourceFilter != null)
+return false;
+if (_resourceId != null ? !_resourceId.equals(that._resourceId) : 
that._resourceId != null) return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975973#comment-14975973
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093369
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/manager/SupportedApiVersionCommand.java
 ---
@@ -17,38 +17,42 @@
 // under the License.
 //
 
-package com.cloud.agent.api.guru;
+package com.cloud.agent.api.manager;
 
 import com.cloud.agent.api.Command;
 
-public class ReleaseVmVspCommand extends Command {
+public class SupportedApiVersionCommand extends Command {
 
-String _networkUuid;
-String _vmUuid;
-String _vmInstanceName;
+private final String _apiVersion;
 
-public ReleaseVmVspCommand(String networkUuid, String vmUuid, String 
vmInstanceName) {
+public SupportedApiVersionCommand(String apiVersion) {
 super();
-this._networkUuid = networkUuid;
-this._vmUuid = vmUuid;
-this._vmInstanceName = vmInstanceName;
+this._apiVersion = apiVersion;
 }
 
-public String getNetworkUuid() {
-return _networkUuid;
+public String getApiVersion() {
+return _apiVersion;
 }
 
-public String getVmUuid() {
-return _vmUuid;
+@Override
+public boolean executeInSequence() {
+return false;
 }
 
-public String getVmInstanceName() {
-return _vmInstanceName;
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+SupportedApiVersionCommand that = (SupportedApiVersionCommand) o;
+
+if (_apiVersion != null ? !_apiVersion.equals(that._apiVersion) : 
that._apiVersion != null) return false;
+
+return true;
 }
 
 @Override
-public boolean executeInSequence() {
-return false;
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975976#comment-14975976
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093396
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncDomainAnswer.java
 ---
@@ -17,28 +17,38 @@
 // under the License.
 //
 
-package com.cloud.agent.api.guru;
-
-import java.util.List;
-import java.util.Map;
+package com.cloud.agent.api.sync;
 
 import com.cloud.agent.api.Answer;
-import com.cloud.agent.api.Command;
 
-public class ReserveVmInterfaceVspAnswer extends Answer {
+public class SyncDomainAnswer extends Answer {
+
+private final boolean _success;
 
-public List> _interfaceDetails;
+public SyncDomainAnswer(boolean success) {
+super();
+this._success = success;
+}
 
-public ReserveVmInterfaceVspAnswer(Command cmd, List> interfaceDetails, String details) {
-super(cmd, true, details);
-this._interfaceDetails = interfaceDetails;
+public boolean getSuccess() {
+return _success;
 }
 
-public ReserveVmInterfaceVspAnswer(Command cmd, Exception e) {
-super(cmd, e);
+
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Answer super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975972#comment-14975972
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093355
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/manager/SupportedApiVersionCommand.java
 ---
@@ -17,38 +17,42 @@
 // under the License.
 //
 
-package com.cloud.agent.api.guru;
+package com.cloud.agent.api.manager;
 
 import com.cloud.agent.api.Command;
 
-public class ReleaseVmVspCommand extends Command {
+public class SupportedApiVersionCommand extends Command {
 
-String _networkUuid;
-String _vmUuid;
-String _vmInstanceName;
+private final String _apiVersion;
 
-public ReleaseVmVspCommand(String networkUuid, String vmUuid, String 
vmInstanceName) {
+public SupportedApiVersionCommand(String apiVersion) {
 super();
-this._networkUuid = networkUuid;
-this._vmUuid = vmUuid;
-this._vmInstanceName = vmInstanceName;
+this._apiVersion = apiVersion;
 }
 
-public String getNetworkUuid() {
-return _networkUuid;
+public String getApiVersion() {
+return _apiVersion;
 }
 
-public String getVmUuid() {
-return _vmUuid;
+@Override
+public boolean executeInSequence() {
+return false;
 }
 
-public String getVmInstanceName() {
-return _vmInstanceName;
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975978#comment-14975978
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093404
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncDomainAnswer.java
 ---
@@ -17,28 +17,38 @@
 // under the License.
 //
 
-package com.cloud.agent.api.guru;
-
-import java.util.List;
-import java.util.Map;
+package com.cloud.agent.api.sync;
 
 import com.cloud.agent.api.Answer;
-import com.cloud.agent.api.Command;
 
-public class ReserveVmInterfaceVspAnswer extends Answer {
+public class SyncDomainAnswer extends Answer {
+
+private final boolean _success;
 
-public List> _interfaceDetails;
+public SyncDomainAnswer(boolean success) {
+super();
+this._success = success;
+}
 
-public ReserveVmInterfaceVspAnswer(Command cmd, List> interfaceDetails, String details) {
-super(cmd, true, details);
-this._interfaceDetails = interfaceDetails;
+public boolean getSuccess() {
+return _success;
 }
 
-public ReserveVmInterfaceVspAnswer(Command cmd, Exception e) {
-super(cmd, e);
+
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+SyncDomainAnswer that = (SyncDomainAnswer) o;
+
+if (_success != that._success) return false;
+
+return true;
 }
 
-public List> getInterfaceDetails() {
-return this._interfaceDetails;
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Answer super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975988#comment-14975988
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093497
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncVspCommand.java
 ---
@@ -39,4 +39,21 @@ public String getNuageVspEntity() {
 return _nuageVspEntity;
 }
 
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976034#comment-14976034
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43095297
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/guru/NuageVspGuestNetworkGuru.java
 ---
@@ -114,7 +115,9 @@ public Network design(NetworkOffering offering, 
DeploymentPlan plan, Network use
 PhysicalNetworkVO physnet = 
_physicalNetworkDao.findById(plan.getPhysicalNetworkId());
 DataCenter dc = _dcDao.findById(plan.getDataCenterId());
 if (!canHandle(offering, dc.getNetworkType(), physnet)) {
-s_logger.debug("Refusing to design this network");
+if (s_logger.isDebugEnabled()) {
+s_logger.debug("Refusing to design network using network 
offering " +  offering.getId() + (physnet != null ? " on physical network " + 
physnet.getId() : ""));
--- End diff --

Not really, all plugins are logging this as DEBUG. 
The code that's calling this method is as following
```java
for (final NetworkGuru guru : networkGurus) {
final Network network = guru.design(offering, plan, 
predefined, owner);
if (network == null) {
continue;
}
...
}
```
It's looping over all gurus, we don't want our guru to log it as 
WARN every time a network is created and we don't support it.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975885#comment-14975885
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43090895
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/guru/NuageVspGuestNetworkGuru.java
 ---
@@ -201,51 +234,82 @@ public NicProfile allocate(Network network, 
NicProfile nic, VirtualMachineProfil
 @Override
 public void reserve(NicProfile nic, Network network, 
VirtualMachineProfile vm, DeployDestination dest, ReservationContext context)
 throws InsufficientVirtualNetworkCapacityException, 
InsufficientAddressCapacityException {
-nic.setBroadcastUri(network.getBroadcastUri());
-nic.setIsolationUri(network.getBroadcastUri());
-
-s_logger.debug("Handling reserve() call back to with Create a new 
VM or add an interface to existing VM in network " + network.getName());
-DataCenter dc = _dcDao.findById(network.getDataCenterId());
-Account networksAccount = 
_accountDao.findById(network.getAccountId());
-DomainVO networksDomain = 
_domainDao.findById(network.getDomainId());
-//Get the Account details and find the type
-long networkOwnedBy = network.getAccountId();
-AccountVO neworkAccountDetails = 
_accountDao.findById(networkOwnedBy);
-if (neworkAccountDetails.getType() == 
Account.ACCOUNT_TYPE_PROJECT) {
-throw new InsufficientVirtualNetworkCapacityException("CS 
project support is " + "not yet implemented in NuageVsp", DataCenter.class, 
dc.getId());
+boolean lockedNetwork = lockNetworkForUserVm(network, vm);
+if (lockedNetwork) {
+s_logger.debug("Locked network " + network.getId() + " for 
creation of user VM " + vm.getInstanceName());
 }
 
-//NicProfile does not contain the NIC UUID. We need this 
information to set it in the VMInterface and VPort
-//that we create in VSP
-NicVO nicFrmDB = _nicDao.findById(nic.getId());
-long networkOfferingId = 
_ntwkOfferingDao.findById(network.getNetworkOfferingId()).getId();
-boolean isL3Network = isL3Network(networkOfferingId);
-Long vpcId = network.getVpcId();
-String vpcUuid = null;
-if (vpcId != null) {
-Vpc vpcObj = _vpcDao.findById(vpcId);
-vpcUuid = vpcObj.getUuid();
-}
-HostVO nuageVspHost = 
getNuageVspHost(network.getPhysicalNetworkId());
-ReserveVmInterfaceVspCommand cmd = new 
ReserveVmInterfaceVspCommand(nicFrmDB.getUuid(), nic.getMacAddress(), 
network.getUuid(), isL3Network, vpcUuid,
-networksDomain.getUuid(), networksAccount.getUuid(), 
vm.getType().equals(VirtualMachine.Type.DomainRouter), 
network.getBroadcastUri().getPath().substring(1),
-vm.getInstanceName(), vm.getUuid(), 
networksDomain.getUuid(), networksAccount.getUuid());
-ReserveVmInterfaceVspAnswer answer = 
(ReserveVmInterfaceVspAnswer)_agentMgr.easySend(nuageVspHost.getId(), cmd);
-
-if (answer == null || !answer.getResult()) {
-s_logger.error("ReserveVmInterfaceNuageVspCommand failed");
-if ((null != answer) && (null != answer.getDetails())) {
-s_logger.error(answer.getDetails());
+try {
+nic.setBroadcastUri(network.getBroadcastUri());
+nic.setIsolationUri(network.getBroadcastUri());
+
+s_logger.debug("Handling reserve() call back to with Create a 
new VM or add an interface to existing VM in network " + network.getName());
+DataCenter dc = _dcDao.findById(network.getDataCenterId());
+Account networksAccount = 
_accountDao.findById(network.getAccountId());
+DomainVO networksDomain = 
_domainDao.findById(network.getDomainId());
+//Get the Account details and find the type
+long networkOwnedBy = network.getAccountId();
+AccountVO neworkAccountDetails = 
_accountDao.findById(networkOwnedBy);
+if (neworkAccountDetails.getType() == 
Account.ACCOUNT_TYPE_PROJECT) {
+throw new InsufficientVirtualNetworkCapacityException("CS 
project support is " + "not yet implemented in NuageVsp", DataCenter.class, 
dc.getId());
+}
+
+//NicProfile does not contain the NIC UUID. We need this 
information to set it in the VMInterface and VPort
+//that we create in VSP
+NicVO nicFrmDB = _nicDao.findById(nic.getId());
+

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975890#comment-14975890
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43091160
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 ---
@@ -285,60 +507,341 @@ public boolean 
deleteNuageVspDevice(DeleteNuageVspDeviceCmd cmd) {
 return responseList;
 }
 
-@Override
-public boolean configure(String name, Map params) 
throws ConfigurationException {
-try {
-initNuageScheduledTasks();
-} catch (Exception ce) {
-s_logger.warn("Failed to load NuageVsp configuration 
properties. Check if the NuageVsp properties are configured correctly");
+private void registerNewNuageVspDevice(ConfigurationVO currentConfig, 
String registeredNuageVspDevice) {
+if (currentConfig == null) {
+ConfigKey configKey = new 
ConfigKey("Advanced", String.class, "nuagevsp.cms.id", 
registeredNuageVspDevice,
+": - Do 
not edit", false);
+ConfigurationVO configuration = new 
ConfigurationVO("management-server", configKey);
+_configDao.persist(configuration);
+} else {
+String newValue;
+String currentValue = currentConfig.getValue();
+if (StringUtils.isNotBlank(currentValue)) {
+newValue = currentValue + ";" + registeredNuageVspDevice;
+} else {
+newValue = registeredNuageVspDevice;
+}
+_configDao.update("nuagevsp.cms.id", newValue);
 }
-return true;
 }
 
-private void initNuageScheduledTasks() {
-Integer numOfSyncThreads = 
Integer.valueOf(_configDao.getValue(NuageVspManager.NuageVspSyncWorkers.key()));
-Integer syncUpIntervalInMinutes = 
Integer.valueOf(_configDao.getValue(NuageVspManager.NuageVspSyncInterval.key()));
-
-if (numOfSyncThreads != null && syncUpIntervalInMinutes != null) {
-ThreadFactory threadFactory = new ThreadFactory() {
-public Thread newThread(Runnable runnable) {
-Thread thread = new Thread(runnable, "Nuage Vsp sync 
task");
-if (thread.isDaemon())
-thread.setDaemon(false);
-if (thread.getPriority() != Thread.NORM_PRIORITY)
-thread.setPriority(Thread.NORM_PRIORITY);
-return thread;
+private void auditHost(HostVO host) {
+_hostDao.loadDetails(host);
+
+boolean validateDomains = true;
+List nuageVspDevices = 
_nuageVspDao.listByHost(host.getId());
+if (!CollectionUtils.isEmpty(nuageVspDevices)) {
+for (NuageVspDeviceVO nuageVspDevice : nuageVspDevices) {
+ConfigurationVO cmsIdConfig = 
_configDao.findByName("nuagevsp.cms.id");
+String nuageVspCmsId = 
findNuageVspCmsIdForDevice(nuageVspDevice.getId(), cmsIdConfig);
+SyncNuageVspCmsIdCommand syncCmd = new 
SyncNuageVspCmsIdCommand(SyncType.AUDIT, nuageVspCmsId);
+SyncNuageVspCmsIdAnswer answer = (SyncNuageVspCmsIdAnswer) 
_agentMgr.easySend(nuageVspDevice.getHostId(), syncCmd);
+
+if (answer != null && !answer.getSuccess()) {
+s_logger.fatal("Nuage VSP Device with ID " + 
nuageVspDevice.getId() + " is configured with an unknown CMS ID!");
+validateDomains = false;
+} else if (answer != null && answer.getSyncType() == 
SyncType.REGISTER) {
+registerNewNuageVspDevice(cmsIdConfig, 
nuageVspDevice.getId() + ":" + answer.getNuageVspCmsId());
 }
-};
-scheduler = Executors.newScheduledThreadPool(numOfSyncThreads, 
threadFactory);
-scheduler.scheduleWithFixedDelay(new 
NuageVspSyncTask("FLOATING_IP"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes,
-TimeUnit.MILLISECONDS);
-scheduler.scheduleWithFixedDelay(new 
NuageVspSyncTask("ENTERPRISE_NTWK_MACRO"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes,
-TimeUnit.MILLISECONDS);
-scheduler
-.scheduleWithFixedDelay(new 
NuageVspSyncTask("ENTERPRISE"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes, TimeUnit.MILLISECONDS);
-} 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975936#comment-14975936
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43092609
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/VspResourceCommand.java
 ---
@@ -79,4 +79,41 @@ public String getProxyUserDomainuuid() {
 public boolean executeInSequence() {
 return false;
 }
+
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975946#comment-14975946
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093012
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyStaticNatVspCommand.java
 ---
@@ -51,13 +61,91 @@ public boolean isL3Network() {
 return _isL3Network;
 }
 
+public boolean isVpc() {
+return _isVpc;
+}
+
 public List> getStaticNatDetails() {
 return _staticNatDetails;
 }
 
+public static class Builder implements 
CmdBuilder {
+private String _networkDomainUuid;
+private String _networkUuid;
+private String _vpcOrSubnetUuid;
+private boolean _isL3Network;
+private boolean _isVpc;
+private List> _staticNatDetails;
+
+public Builder networkDomainUuid(String networkDomainUuid) {
+this._networkDomainUuid = networkDomainUuid;
+return this;
+}
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder vpcOrSubnetUuid(String vpcOrSubnetUuid) {
+this._vpcOrSubnetUuid = vpcOrSubnetUuid;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isVpc(boolean isVpc) {
+this._isVpc = isVpc;
+return this;
+}
+
+public Builder staticNatDetails(List> 
staticNatDetails) {
+this._staticNatDetails = staticNatDetails;
+return this;
+}
+
+@Override
+public ApplyStaticNatVspCommand build() {
+return new ApplyStaticNatVspCommand(_networkDomainUuid, 
_networkUuid, _vpcOrSubnetUuid, _isL3Network, _isVpc, _staticNatDetails);
+}
+}
+
 @Override
 public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975947#comment-14975947
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093020
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ApplyStaticNatVspCommand.java
 ---
@@ -51,13 +61,91 @@ public boolean isL3Network() {
 return _isL3Network;
 }
 
+public boolean isVpc() {
+return _isVpc;
+}
+
 public List> getStaticNatDetails() {
 return _staticNatDetails;
 }
 
+public static class Builder implements 
CmdBuilder {
+private String _networkDomainUuid;
+private String _networkUuid;
+private String _vpcOrSubnetUuid;
+private boolean _isL3Network;
+private boolean _isVpc;
+private List> _staticNatDetails;
+
+public Builder networkDomainUuid(String networkDomainUuid) {
+this._networkDomainUuid = networkDomainUuid;
+return this;
+}
+
+public Builder networkUuid(String networkUuid) {
+this._networkUuid = networkUuid;
+return this;
+}
+
+public Builder vpcOrSubnetUuid(String vpcOrSubnetUuid) {
+this._vpcOrSubnetUuid = vpcOrSubnetUuid;
+return this;
+}
+
+public Builder isL3Network(boolean isL3Network) {
+this._isL3Network = isL3Network;
+return this;
+}
+
+public Builder isVpc(boolean isVpc) {
+this._isVpc = isVpc;
+return this;
+}
+
+public Builder staticNatDetails(List> 
staticNatDetails) {
+this._staticNatDetails = staticNatDetails;
+return this;
+}
+
+@Override
+public ApplyStaticNatVspCommand build() {
+return new ApplyStaticNatVspCommand(_networkDomainUuid, 
_networkUuid, _vpcOrSubnetUuid, _isL3Network, _isVpc, _staticNatDetails);
+}
+}
+
 @Override
 public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+ApplyStaticNatVspCommand that = (ApplyStaticNatVspCommand) o;
+
+if (_isL3Network != that._isL3Network) return false;
+if (_isVpc != that._isVpc) return false;
+if (_networkDomainUuid != null ? 
!_networkDomainUuid.equals(that._networkDomainUuid) : that._networkDomainUuid 
!= null)
+return false;
+if (_networkUuid != null ? !_networkUuid.equals(that._networkUuid) 
: that._networkUuid != null) return false;
+if (_staticNatDetails != null ? 
!_staticNatDetails.equals(that._staticNatDetails) : that._staticNatDetails != 
null)
+return false;
+if (_vpcOrSubnetUuid != null ? 
!_vpcOrSubnetUuid.equals(that._vpcOrSubnetUuid) : that._vpcOrSubnetUuid != null)
+return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975957#comment-14975957
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093086
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ShutDownVpcVspCommand.java
 ---
@@ -40,9 +43,61 @@ public String getVpcUuid() {
 return _vpcUuid;
 }
 
+public String getDomainTemplateName() {
+return _domainTemplateName;
+}
+
+public static class Builder implements 
CmdBuilder {
+private String _domainUuid;
+private String _vpcUuid;
+private String _domainTemplateName;
+
+public Builder domainUuid(String domainUuid) {
+this._domainUuid = domainUuid;
+return this;
+}
+
+public Builder vpcUuid(String vpcUuid) {
+this._vpcUuid = vpcUuid;
+return this;
+}
+
+public Builder domainTemplateName(String domainTemplateName) {
+this._domainTemplateName = domainTemplateName;
+return this;
+}
+
+@Override
+public ShutDownVpcVspCommand build() {
+return new ShutDownVpcVspCommand(_domainUuid, _vpcUuid, 
_domainTemplateName);
+}
+}
+
 @Override
 public boolean executeInSequence() {
 return false;
 }
 
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+ShutDownVpcVspCommand that = (ShutDownVpcVspCommand) o;
+
+if (_domainTemplateName != null ? 
!_domainTemplateName.equals(that._domainTemplateName) : 
that._domainTemplateName != null)
+return false;
+if (_domainUuid != null ? !_domainUuid.equals(that._domainUuid) : 
that._domainUuid != null) return false;
+if (_vpcUuid != null ? !_vpcUuid.equals(that._vpcUuid) : 
that._vpcUuid != null) return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975955#comment-14975955
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093062
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/element/ImplementVspCommand.java
 ---
@@ -0,0 +1,295 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.element;
+
+import com.cloud.agent.api.CmdBuilder;
+import com.cloud.agent.api.Command;
+
+import java.util.List;
+import java.util.Map;
+
+public class ImplementVspCommand extends Command {
+
+private final long _networkId;
+private final String _networkDomainUuid;
+private final String _networkUuid;
+private final String _networkName;
+private final String _vpcOrSubnetUuid;
+private final boolean _isL2Network;
+private final boolean _isL3Network;
+private final boolean _isVpc;
+private final boolean _isShared;
+private final String _domainTemplateName;
+private final boolean _isFirewallServiceSupported;
+private final List _dnsServers;
+private final List> _ingressFirewallRules;
+private final List> _egressFirewallRules;
+private final List _acsFipUuid;
+private final boolean _egressDefaultPolicy;
+
+private ImplementVspCommand(long networkId, String networkDomainUuid, 
String networkUuid, String networkName, String vpcOrSubnetUuid, boolean 
isL2Network, boolean isL3Network,
+boolean isVpc, boolean isShared, String domainTemplateName, 
boolean isFirewallServiceSupported, List dnsServers, List> ingressFirewallRules,
+List> egressFirewallRules, List 
acsFipUuid, boolean egressDefaultPolicy) {
+super();
+this._networkId = networkId;
+this._networkDomainUuid = networkDomainUuid;
+this._networkUuid = networkUuid;
+this._networkName = networkName;
+this._vpcOrSubnetUuid = vpcOrSubnetUuid;
+this._isL2Network = isL2Network;
+this._isL3Network = isL3Network;
+this._isVpc = isVpc;
+this._isShared = isShared;
+this._domainTemplateName = domainTemplateName;
+this._isFirewallServiceSupported = isFirewallServiceSupported;
+this._dnsServers = dnsServers;
+this._ingressFirewallRules = ingressFirewallRules;
+this._egressFirewallRules = egressFirewallRules;
+this._acsFipUuid = acsFipUuid;
+this._egressDefaultPolicy = egressDefaultPolicy;
+}
+
+public long getNetworkId() {
+return _networkId;
+}
+
+public String getNetworkDomainUuid() {
+return _networkDomainUuid;
+}
+
+public String getNetworkUuid() {
+return _networkUuid;
+}
+
+public String getNetworkName() {
+return _networkName;
+}
+
+public String getVpcOrSubnetUuid() {
+return _vpcOrSubnetUuid;
+}
+
+public boolean isL2Network() {
+return _isL2Network;
+}
+
+public boolean isL3Network() {
+return _isL3Network;
+}
+
+public boolean isVpc() {
+return _isVpc;
+}
+
+public boolean isShared() {
+return _isShared;
+}
+
+public String getDomainTemplateName() {
+return _domainTemplateName;
+}
+
+public boolean isFirewallServiceSupported() {
+return _isFirewallServiceSupported;
+}
+
+public List getDnsServers() {
+return _dnsServers;
+}
+
+public List

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975982#comment-14975982
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093426
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncDomainCommand.java
 ---
@@ -0,0 +1,91 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.sync;
+
+import com.cloud.agent.api.Command;
+
+public class SyncDomainCommand extends Command {
+
+private final String _domainUuid;
+private final String _domainName;
+private final String _domainPath;
+private final boolean _toAdd;
+private final boolean _toRemove;
+
+public SyncDomainCommand(String domainUuid, String domainName, String 
domainPath, boolean toAdd, boolean toRemove) {
+super();
+this._domainUuid = domainUuid;
+this._domainName = domainName;
+this._domainPath = domainPath;
+this._toAdd = toAdd;
+this._toRemove = toRemove;
+}
+
+public String getDomainUuid() {
+return _domainUuid;
+}
+
+public String getDomainName() {
+return _domainName;
+}
+
+public String getDomainPath() {
+return _domainPath;
+}
+
+public boolean isToAdd() {
+return _toAdd;
+}
+
+public boolean isToRemove() {
+return _toRemove;
+}
+
+@Override
+public boolean executeInSequence() {
+return false;
+}
+
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975986#comment-14975986
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093469
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncNuageVspCmsIdCommand.java
 ---
@@ -0,0 +1,70 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.sync;
+
+import com.cloud.agent.api.Command;
+
+public class SyncNuageVspCmsIdCommand extends Command {
+
+public static enum SyncType { AUDIT, AUDIT_ONLY, REGISTER, UNREGISTER }
+
+private final SyncType _syncType;
+private final String _nuageVspCmsId;
+
+public SyncNuageVspCmsIdCommand(SyncType syncType, String 
nuageVspCmsId) {
+super();
+this._syncType = syncType;
+this._nuageVspCmsId = nuageVspCmsId;
+}
+
+public SyncType getSyncType() {
+return _syncType;
+}
+
+public String getNuageVspCmsId() {
+return _nuageVspCmsId;
+}
+
+@Override
+public boolean executeInSequence() {
+return false;
+}
+
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975985#comment-14975985
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093455
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncNuageVspCmsIdAnswer.java
 ---
@@ -0,0 +1,71 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.sync;
+
+import com.cloud.agent.api.Answer;
+
+public class SyncNuageVspCmsIdAnswer extends Answer {
+
+private final boolean _success;
+private final String _nuageVspCmsId;
+private final SyncNuageVspCmsIdCommand.SyncType _syncType;
+
+public SyncNuageVspCmsIdAnswer(boolean success, String nuageVspCmsId, 
SyncNuageVspCmsIdCommand.SyncType syncType) {
+super();
+this._success = success;
+this._nuageVspCmsId = nuageVspCmsId;
+this._syncType = syncType;
+}
+
+public boolean getSuccess() {
+return _success;
+}
+
+public String getNuageVspCmsId() {
+return _nuageVspCmsId;
+}
+
+public SyncNuageVspCmsIdCommand.SyncType getSyncType() {
+return _syncType;
+}
+
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+SyncNuageVspCmsIdAnswer that = (SyncNuageVspCmsIdAnswer) o;
+
+if (_success != that._success) return false;
+if (_nuageVspCmsId != null ? 
!_nuageVspCmsId.equals(that._nuageVspCmsId) : that._nuageVspCmsId != null)
+return false;
+if (_syncType != that._syncType) return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Answer super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975984#comment-14975984
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093444
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncNuageVspCmsIdAnswer.java
 ---
@@ -0,0 +1,71 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.sync;
+
+import com.cloud.agent.api.Answer;
+
+public class SyncNuageVspCmsIdAnswer extends Answer {
+
+private final boolean _success;
+private final String _nuageVspCmsId;
+private final SyncNuageVspCmsIdCommand.SyncType _syncType;
+
+public SyncNuageVspCmsIdAnswer(boolean success, String nuageVspCmsId, 
SyncNuageVspCmsIdCommand.SyncType syncType) {
+super();
+this._success = success;
+this._nuageVspCmsId = nuageVspCmsId;
+this._syncType = syncType;
+}
+
+public boolean getSuccess() {
+return _success;
+}
+
+public String getNuageVspCmsId() {
+return _nuageVspCmsId;
+}
+
+public SyncNuageVspCmsIdCommand.SyncType getSyncType() {
+return _syncType;
+}
+
+@Override
+public boolean equals(Object o) {
--- End diff --

Implemented equals method for the Answer super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975992#comment-14975992
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093502
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncVspCommand.java
 ---
@@ -39,4 +39,21 @@ public String getNuageVspEntity() {
 return _nuageVspEntity;
 }
 
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+SyncVspCommand that = (SyncVspCommand) o;
+
+if (_nuageVspEntity != null ? 
!_nuageVspEntity.equals(that._nuageVspEntity) : that._nuageVspEntity != null)
+return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975987#comment-14975987
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093482
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncNuageVspCmsIdCommand.java
 ---
@@ -0,0 +1,70 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.sync;
+
+import com.cloud.agent.api.Command;
+
+public class SyncNuageVspCmsIdCommand extends Command {
+
+public static enum SyncType { AUDIT, AUDIT_ONLY, REGISTER, UNREGISTER }
+
+private final SyncType _syncType;
+private final String _nuageVspCmsId;
+
+public SyncNuageVspCmsIdCommand(SyncType syncType, String 
nuageVspCmsId) {
+super();
+this._syncType = syncType;
+this._nuageVspCmsId = nuageVspCmsId;
+}
+
+public SyncType getSyncType() {
+return _syncType;
+}
+
+public String getNuageVspCmsId() {
+return _nuageVspCmsId;
+}
+
+@Override
+public boolean executeInSequence() {
+return false;
+}
+
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+SyncNuageVspCmsIdCommand that = (SyncNuageVspCmsIdCommand) o;
+
+if (_nuageVspCmsId != null ? 
!_nuageVspCmsId.equals(that._nuageVspCmsId) : that._nuageVspCmsId != null)
+return false;
+if (_syncType != that._syncType) return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14975983#comment-14975983
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093430
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/agent/api/sync/SyncDomainCommand.java
 ---
@@ -0,0 +1,91 @@
+//
+// Licensed to the Apache Software Foundation (ASF) under one
+// or more contributor license agreements.  See the NOTICE file
+// distributed with this work for additional information
+// regarding copyright ownership.  The ASF licenses this file
+// to you under the Apache License, Version 2.0 (the
+// "License"); you may not use this file except in compliance
+// with the License.  You may obtain a copy of the License at
+//
+//   http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing,
+// software distributed under the License is distributed on an
+// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// KIND, either express or implied.  See the License for the
+// specific language governing permissions and limitations
+// under the License.
+//
+
+package com.cloud.agent.api.sync;
+
+import com.cloud.agent.api.Command;
+
+public class SyncDomainCommand extends Command {
+
+private final String _domainUuid;
+private final String _domainName;
+private final String _domainPath;
+private final boolean _toAdd;
+private final boolean _toRemove;
+
+public SyncDomainCommand(String domainUuid, String domainName, String 
domainPath, boolean toAdd, boolean toRemove) {
+super();
+this._domainUuid = domainUuid;
+this._domainName = domainName;
+this._domainPath = domainPath;
+this._toAdd = toAdd;
+this._toRemove = toRemove;
+}
+
+public String getDomainUuid() {
+return _domainUuid;
+}
+
+public String getDomainName() {
+return _domainName;
+}
+
+public String getDomainPath() {
+return _domainPath;
+}
+
+public boolean isToAdd() {
+return _toAdd;
+}
+
+public boolean isToRemove() {
+return _toRemove;
+}
+
+@Override
+public boolean executeInSequence() {
+return false;
+}
+
+@Override
+public boolean equals(Object o) {
+if (this == o) return true;
+if (o == null || getClass() != o.getClass()) return false;
+
+SyncDomainCommand that = (SyncDomainCommand) o;
+
+if (_toAdd != that._toAdd) return false;
+if (_toRemove != that._toRemove) return false;
+if (_domainName != null ? !_domainName.equals(that._domainName) : 
that._domainName != null) return false;
+if (_domainPath != null ? !_domainPath.equals(that._domainPath) : 
that._domainPath != null) return false;
+if (_domainUuid != null ? !_domainUuid.equals(that._domainUuid) : 
that._domainUuid != null) return false;
+
+return true;
+}
+
+@Override
+public int hashCode() {
--- End diff --

Implemented hashCode method for the Command super 
class, calling it from subclass.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976008#comment-14976008
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43094017
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 ---
@@ -367,22 +483,16 @@ public boolean applyStaticNats(Network config, List rules)
 sourceNatDetail.put("sourceNatVlanNetmask", 
sourceNatVan.getVlanNetmask());
 sourceNatDetails.add(sourceNatDetail);
 }
-try {
-try {
-HostVO nuageVspHost = 
getNuageVspHost(config.getPhysicalNetworkId());
-ApplyStaticNatVspCommand cmd = new 
ApplyStaticNatVspCommand(networkDomain.getUuid(), vpcOrSubnetUuid, isL3Network, 
sourceNatDetails);
-ApplyStaticNatVspAnswer answer = 
(ApplyStaticNatVspAnswer)_agentMgr.easySend(nuageVspHost.getId(), cmd);
-if (answer == null || !answer.getResult()) {
-s_logger.error("ApplyStaticNatNuageVspCommand for 
network " + config.getUuid() + " failed");
-if ((null != answer) && (null != answer.getDetails())) 
{
-throw new 
ResourceUnavailableException(answer.getDetails(), Network.class, 
config.getId());
-}
-}
-} catch (Exception e) {
-s_logger.warn("Failed to apply static Nat in Vsp " + 
e.getMessage());
+
+HostVO nuageVspHost = 
getNuageVspHost(config.getPhysicalNetworkId());
+ApplyStaticNatVspCommand.Builder cmdBuilder = new 
ApplyStaticNatVspCommand.Builder().networkDomainUuid(networkDomain.getUuid())
--- End diff --

Done.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976010#comment-14976010
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43094088
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 ---
@@ -395,65 +505,135 @@ public IpDeployer getIpDeployer(Network network) {
 
 @Override
 public boolean applyFWRules(Network network, List rules) throws ResourceUnavailableException {
-s_logger.debug("Handling applyFWRules for network " + 
network.getName() + " with " + rules.size() + " FWRules");
-if (rules != null && rules.size() == 1 && 
rules.iterator().next().getType().equals(FirewallRuleType.System)) {
-s_logger.debug("Default ACL added by CS as system is ignored 
for network " + network.getName() + " with rule " + rules);
+if (rules == null || rules.isEmpty()) {
 return true;
 }
-return applyACLRules(network, rules, false);
+
+if (rules.size() == 1 && 
rules.iterator().next().getType().equals(FirewallRuleType.System)) {
+if (s_logger.isDebugEnabled()) {
+s_logger.debug("Default ACL added by CS as system is 
ignored for network " + network.getName() + " with rule " + rules);
--- End diff --

This message is DEBUG severity.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976006#comment-14976006
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43093940
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/element/NuageVspElement.java
 ---
@@ -303,13 +414,17 @@ protected boolean canHandle(Network network, Service 
service) {
 }
 
 if (!_networkModel.isProviderForNetwork(getProvider(), 
network.getId())) {
-s_logger.debug("NuageElement is not a provider for network " + 
network.getDisplayText());
+if (s_logger.isDebugEnabled()) {
+s_logger.debug("NuageVsp is not a provider for network " + 
network.getDisplayText());
+}
 return false;
 }
 
 if (service != null) {
 if 
(!_ntwkSrvcDao.canProviderSupportServiceInNetwork(network.getId(), service, 
getProvider())) {
-s_logger.debug("NuageElement can't provide the " + 
service.getName() + " service on network " + network.getDisplayText());
+if (s_logger.isDebugEnabled()) {
+s_logger.debug("NuageVsp can't provide the " + 
service.getName() + " service on network " + network.getDisplayText());
--- End diff --

This code is just checking whether the NuageVsp provider supports the 
services enabled on the given network, no need for specific information about 
the Nuage VSP.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976042#comment-14976042
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43095672
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/guru/NuageVspGuestNetworkGuru.java
 ---
@@ -409,8 +472,8 @@ private HostVO getNuageVspHost(long physicalNetworkId) 
throws InsufficientVirtua
 nuageVspHost = _hostDao.findById(config.getHostId());
 _hostDao.loadDetails(nuageVspHost);
 } else {
-throw new InsufficientVirtualNetworkCapacityException("Nuage 
VSD is not configured on physical network ", PhysicalNetwork.class, 
physicalNetworkId);
+throw new CloudRuntimeException("Nuage VSD is not configured 
on physical network " + physicalNetworkId);
--- End diff --

Changed code to throw new CloudRuntimeException("There is no Nuage 
VSP device configured on physical network " + physicalNetworkId). We 
can't identify about the Nuage VSP device that failed since there is none 
configured.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976039#comment-14976039
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43095562
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/guru/NuageVspGuestNetworkGuru.java
 ---
@@ -129,66 +132,93 @@ public Network design(NetworkOffering offering, 
DeploymentPlan plan, Network use
 
 @Override
 public Network implement(Network network, NetworkOffering offering, 
DeployDestination dest, ReservationContext context) throws 
InsufficientVirtualNetworkCapacityException {
+long networkId = network.getId();
+network = _networkDao.acquireInLockTable(network.getId(), 1200);
+if (network == null) {
+throw new ConcurrentOperationException("Unable to acquire lock 
on network " + networkId);
+}
+
+NetworkVO implemented = null;
+try {
+assert (network.getState() == State.Implementing) : "Why are 
we implementing " + network;
--- End diff --

Done.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976168#comment-14976168
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43103718
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 ---
@@ -285,60 +529,334 @@ public boolean 
deleteNuageVspDevice(DeleteNuageVspDeviceCmd cmd) {
 return responseList;
 }
 
-@Override
-public boolean configure(String name, Map params) 
throws ConfigurationException {
-try {
-initNuageScheduledTasks();
-} catch (Exception ce) {
-s_logger.warn("Failed to load NuageVsp configuration 
properties. Check if the NuageVsp properties are configured correctly");
+private void registerNewNuageVspDevice(ConfigurationVO currentConfig, 
String registeredNuageVspDevice) {
+if (currentConfig == null) {
+ConfigKey configKey = new 
ConfigKey("Advanced", String.class, "nuagevsp.cms.id", 
registeredNuageVspDevice,
+": - Do 
not edit", false);
+ConfigurationVO configuration = new 
ConfigurationVO("management-server", configKey);
+_configDao.persist(configuration);
+} else {
+String newValue;
+String currentValue = currentConfig.getValue();
+if (!Strings.isNullOrEmpty(currentValue)) {
+newValue = currentValue + ";" + registeredNuageVspDevice;
+} else {
+newValue = registeredNuageVspDevice;
+}
+_configDao.update("nuagevsp.cms.id", newValue);
 }
-return true;
 }
 
-private void initNuageScheduledTasks() {
-Integer numOfSyncThreads = 
Integer.valueOf(_configDao.getValue(NuageVspManager.NuageVspSyncWorkers.key()));
-Integer syncUpIntervalInMinutes = 
Integer.valueOf(_configDao.getValue(NuageVspManager.NuageVspSyncInterval.key()));
-
-if (numOfSyncThreads != null && syncUpIntervalInMinutes != null) {
-ThreadFactory threadFactory = new ThreadFactory() {
-public Thread newThread(Runnable runnable) {
-Thread thread = new Thread(runnable, "Nuage Vsp sync 
task");
-if (thread.isDaemon())
-thread.setDaemon(false);
-if (thread.getPriority() != Thread.NORM_PRIORITY)
-thread.setPriority(Thread.NORM_PRIORITY);
-return thread;
+private void auditHost(HostVO host) {
+_hostDao.loadDetails(host);
+
+boolean validateDomains = true;
+List nuageVspDevices = 
_nuageVspDao.listByHost(host.getId());
+if (!CollectionUtils.isEmpty(nuageVspDevices)) {
+for (NuageVspDeviceVO nuageVspDevice : nuageVspDevices) {
+ConfigurationVO cmsIdConfig = 
_configDao.findByName("nuagevsp.cms.id");
+String nuageVspCmsId = 
findNuageVspCmsIdForDevice(nuageVspDevice.getId(), cmsIdConfig);
+SyncNuageVspCmsIdCommand syncCmd = new 
SyncNuageVspCmsIdCommand(SyncType.AUDIT, nuageVspCmsId);
+SyncNuageVspCmsIdAnswer answer = (SyncNuageVspCmsIdAnswer) 
_agentMgr.easySend(nuageVspDevice.getHostId(), syncCmd);
+
+if (answer != null && !answer.getSuccess()) {
+s_logger.error("Nuage VSP Device with ID " + 
nuageVspDevice.getId() + " is configured with an unknown CMS ID!");
+validateDomains = false;
+} else if (answer != null && answer.getSyncType() == 
SyncType.REGISTER) {
+registerNewNuageVspDevice(cmsIdConfig, 
nuageVspDevice.getId() + ":" + answer.getNuageVspCmsId());
 }
-};
-scheduler = Executors.newScheduledThreadPool(numOfSyncThreads, 
threadFactory);
-scheduler.scheduleWithFixedDelay(new 
NuageVspSyncTask("FLOATING_IP"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes,
-TimeUnit.MILLISECONDS);
-scheduler.scheduleWithFixedDelay(new 
NuageVspSyncTask("ENTERPRISE_NTWK_MACRO"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes,
-TimeUnit.MILLISECONDS);
-scheduler
-.scheduleWithFixedDelay(new 
NuageVspSyncTask("ENTERPRISE"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes, TimeUnit.MILLISECONDS);
-} 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976189#comment-14976189
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43104591
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java
 ---
@@ -170,20 +169,18 @@ public boolean configure(String name, Map params) throws Configu
 throw new ConfigurationException("Unable to find retry 
interval");
 }
 
-_relativePath = new 
StringBuffer().append("https://;).append(hostname).append(":").append(port).append(apiRelativePath).toString();
+_relativePath = new 
StringBuffer().append("https://;).append(_hostName).append(":").append(port).append(apiRelativePath).toString();
 
 String cmsUserPass = 
org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.decodeBase64(cmsUserPassBase64));
 _cmsUserInfo = new String[] {CMS_USER_ENTEPRISE_NAME, cmsUser, 
cmsUserPass};
 
-try {
-loadNuageClient();
-} catch (Exception e) {
-throw new CloudRuntimeException("Failed to login to Nuage VSD 
on " + name + " as user " + cmsUser, e);
-}
+_nuageVspCmsId = (String)params.get("nuagevspcmsid");
+
+loadNuageClient();
 
 try {
 login();
-} catch (Exception e) {
+} catch (ExecutionException | ConfigurationException e) {
 s_logger.error("Failed to login to Nuage VSD on " + name + " 
as user " + cmsUser + " Exception " + e.getMessage());
--- End diff --

Done.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976146#comment-14976146
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43102851
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 ---
@@ -152,50 +241,185 @@ public NuageVspDeviceVO 
addNuageVspDevice(AddNuageVspDeviceCmd cmd) {
 throw new CloudRuntimeException("A NuageVsp device is already 
configured on this physical network");
 }
 
-Map params = new HashMap();
-params.put("guid", UUID.randomUUID().toString());
-params.put("zoneId", 
String.valueOf(physicalNetwork.getDataCenterId()));
-params.put("physicalNetworkId", 
String.valueOf(physicalNetwork.getId()));
-params.put("name", "Nuage VSD - " + cmd.getHostName());
-params.put("hostname", cmd.getHostName());
-params.put("cmsuser", cmd.getUserName());
-String cmsUserPasswordBase64 = 
org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.encodeBase64(cmd.getPassword().getBytes(Charset.forName("UTF-8";
-params.put("cmsuserpass", cmsUserPasswordBase64);
-int port = cmd.getPort();
-if (0 == port) {
-port = 443;
-}
-params.put("port", String.valueOf(port));
-params.put("apirelativepath", "/nuage/api/" + cmd.getApiVersion());
-params.put("retrycount", String.valueOf(cmd.getApiRetryCount()));
-params.put("retryinterval", 
String.valueOf(cmd.getApiRetryInterval()));
+try {
+NuageVspPluginClientLoader clientLoader = 
NuageVspPluginClientLoader.getClientLoader(null, null, 1, 1, null);
 
-Map hostdetails = new HashMap();
-hostdetails.putAll(params);
+Map clientDefaults = 
clientLoader.getNuageVspManagerClient().getClientDefaults();
+String apiVersion = 
MoreObjects.firstNonNull(cmd.getApiVersion(), (String) 
clientDefaults.get("CURRENT_API_VERSION"));
+if 
(!clientLoader.getNuageVspManagerClient().isSupportedApiVersion(apiVersion)) {
+throw new CloudRuntimeException("Unsupported API version : 
" + apiVersion);
+}
 
-try {
+Map params = new HashMap();
+params.put("guid", UUID.randomUUID().toString());
+params.put("zoneId", 
String.valueOf(physicalNetwork.getDataCenterId()));
+params.put("physicalNetworkId", 
String.valueOf(physicalNetwork.getId()));
+params.put("name", "Nuage VSD - " + cmd.getHostName());
+params.put("hostname", cmd.getHostName());
+params.put("cmsuser", cmd.getUserName());
+String cmsUserPasswordBase64 = 
org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.encodeBase64(cmd.getPassword().getBytes()));
+params.put("cmsuserpass", cmsUserPasswordBase64);
+int port = cmd.getPort();
+if (0 == port) {
+port = 8443;
+}
+params.put("port", String.valueOf(port));
+params.put("apiversion", apiVersion);
+params.put("apirelativepath", "/nuage/api/" + apiVersion);
+params.put("retrycount", 
String.valueOf(MoreObjects.firstNonNull(cmd.getApiRetryCount(), 
clientDefaults.get("DEFAULT_API_RETRY_COUNT";
+params.put("retryinterval", 
String.valueOf(MoreObjects.firstNonNull(cmd.getApiRetryInterval(), 
clientDefaults.get("DEFAULT_API_RETRY_INTERVAL";
+
+final Map hostdetails = new HashMap();
+hostdetails.putAll(params);
 resource.configure(cmd.getHostName(), hostdetails);
 
-final Host host = _resourceMgr.addHost(zoneId, resource, 
Host.Type.L2Networking, params);
+Host host = _resourceMgr.addHost(zoneId, resource, 
Host.Type.L2Networking, params);
 if (host != null) {
-return Transaction.execute(new 
TransactionCallback() {
-@Override
-public NuageVspDeviceVO 
doInTransaction(TransactionStatus status) {
-NuageVspDeviceVO nuageVspDevice = new 
NuageVspDeviceVO(host.getId(), physicalNetworkId, 
ntwkSvcProvider.getProviderName(), deviceName);
-_nuageVspDao.persist(nuageVspDevice);
-
-DetailVO detail = 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976147#comment-14976147
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43102867
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 ---
@@ -152,50 +241,185 @@ public NuageVspDeviceVO 
addNuageVspDevice(AddNuageVspDeviceCmd cmd) {
 throw new CloudRuntimeException("A NuageVsp device is already 
configured on this physical network");
 }
 
-Map params = new HashMap();
-params.put("guid", UUID.randomUUID().toString());
-params.put("zoneId", 
String.valueOf(physicalNetwork.getDataCenterId()));
-params.put("physicalNetworkId", 
String.valueOf(physicalNetwork.getId()));
-params.put("name", "Nuage VSD - " + cmd.getHostName());
-params.put("hostname", cmd.getHostName());
-params.put("cmsuser", cmd.getUserName());
-String cmsUserPasswordBase64 = 
org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.encodeBase64(cmd.getPassword().getBytes(Charset.forName("UTF-8";
-params.put("cmsuserpass", cmsUserPasswordBase64);
-int port = cmd.getPort();
-if (0 == port) {
-port = 443;
-}
-params.put("port", String.valueOf(port));
-params.put("apirelativepath", "/nuage/api/" + cmd.getApiVersion());
-params.put("retrycount", String.valueOf(cmd.getApiRetryCount()));
-params.put("retryinterval", 
String.valueOf(cmd.getApiRetryInterval()));
+try {
+NuageVspPluginClientLoader clientLoader = 
NuageVspPluginClientLoader.getClientLoader(null, null, 1, 1, null);
 
-Map hostdetails = new HashMap();
-hostdetails.putAll(params);
+Map clientDefaults = 
clientLoader.getNuageVspManagerClient().getClientDefaults();
+String apiVersion = 
MoreObjects.firstNonNull(cmd.getApiVersion(), (String) 
clientDefaults.get("CURRENT_API_VERSION"));
+if 
(!clientLoader.getNuageVspManagerClient().isSupportedApiVersion(apiVersion)) {
+throw new CloudRuntimeException("Unsupported API version : 
" + apiVersion);
+}
 
-try {
+Map params = new HashMap();
+params.put("guid", UUID.randomUUID().toString());
+params.put("zoneId", 
String.valueOf(physicalNetwork.getDataCenterId()));
+params.put("physicalNetworkId", 
String.valueOf(physicalNetwork.getId()));
+params.put("name", "Nuage VSD - " + cmd.getHostName());
+params.put("hostname", cmd.getHostName());
+params.put("cmsuser", cmd.getUserName());
+String cmsUserPasswordBase64 = 
org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.encodeBase64(cmd.getPassword().getBytes()));
+params.put("cmsuserpass", cmsUserPasswordBase64);
+int port = cmd.getPort();
+if (0 == port) {
+port = 8443;
+}
+params.put("port", String.valueOf(port));
+params.put("apiversion", apiVersion);
+params.put("apirelativepath", "/nuage/api/" + apiVersion);
+params.put("retrycount", 
String.valueOf(MoreObjects.firstNonNull(cmd.getApiRetryCount(), 
clientDefaults.get("DEFAULT_API_RETRY_COUNT";
+params.put("retryinterval", 
String.valueOf(MoreObjects.firstNonNull(cmd.getApiRetryInterval(), 
clientDefaults.get("DEFAULT_API_RETRY_INTERVAL";
+
+final Map hostdetails = new HashMap();
+hostdetails.putAll(params);
 resource.configure(cmd.getHostName(), hostdetails);
 
-final Host host = _resourceMgr.addHost(zoneId, resource, 
Host.Type.L2Networking, params);
+Host host = _resourceMgr.addHost(zoneId, resource, 
Host.Type.L2Networking, params);
 if (host != null) {
-return Transaction.execute(new 
TransactionCallback() {
-@Override
-public NuageVspDeviceVO 
doInTransaction(TransactionStatus status) {
-NuageVspDeviceVO nuageVspDevice = new 
NuageVspDeviceVO(host.getId(), physicalNetworkId, 
ntwkSvcProvider.getProviderName(), deviceName);
-_nuageVspDao.persist(nuageVspDevice);
-
-DetailVO detail = 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976197#comment-14976197
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43104880
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/NuageVspPluginClientLoader.java
 ---
@@ -19,28 +19,101 @@
 
 package net.nuage.vsp.acs;
 
+import net.nuage.vsp.acs.client.NuageVspApiClient;
+import net.nuage.vsp.acs.client.NuageVspElementClient;
+import net.nuage.vsp.acs.client.NuageVspGuruClient;
+import net.nuage.vsp.acs.client.NuageVspManagerClient;
+import net.nuage.vsp.acs.client.NuageVspSyncClient;
+import org.apache.log4j.Logger;
+
+import javax.naming.ConfigurationException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
 
 public class NuageVspPluginClientLoader {
 
-private static NuageVspPluginClientLoader 
nuageVspPluginClientClassloader;
-private ClassLoader loader = null;
+private ClassLoader _loader = null;
+private static final Logger s_logger = 
Logger.getLogger(NuageVspPluginClientLoader.class);
+
+private NuageVspApiClient _nuageVspApiClient;
+private NuageVspElementClient _nuageVspElementClient;
+private NuageVspGuruClient _nuageVspGuruClient;
+private NuageVspManagerClient _nuageVspManagerClient;
+private NuageVspSyncClient _nuageVspSyncClient;
+
+private static final String NUAGE_PLUGIN_CLIENT_JAR_FILE = 
"/usr/share/nuagevsp/lib/nuage-vsp-acs-client.jar";
+private static final String NUAGE_VSP_API_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspApiClientImpl";
+private static final String NUAGE_VSP_SYNC_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspSyncClientImpl";
+private static final String NUAGE_VSP_ELEMENT_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspElementClientImpl";
+private static final String NUAGE_VSP_GURU_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspGuruClientImpl";
+private static final String NUAGE_VSP_MANAGER_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspManagerClientImpl";
 
 private NuageVspPluginClientLoader(String 
nuagePluginClientJarLocation) {
 try {
-loader = URLClassLoader.newInstance(new URL[] {new 
URL("jar:file:" + nuagePluginClientJarLocation + "!/")},
+_loader = URLClassLoader.newInstance(new URL[] {new 
URL("jar:file:" + nuagePluginClientJarLocation + "!/")},
 getClass().getClassLoader());
 } catch (MalformedURLException e) {
-e.printStackTrace();
+throw new IllegalArgumentException(e);
 }
 }
 
-public static ClassLoader getClassLoader(String 
nuagePluginClientJarLocation) {
-if (nuageVspPluginClientClassloader == null) {
-nuageVspPluginClientClassloader = new 
NuageVspPluginClientLoader(nuagePluginClientJarLocation);
+public static NuageVspPluginClientLoader getClientLoader(String 
relativePath, String[] cmsUserInfo, int numRetries, int retryInterval,
+String nuageVspCmsId) throws ConfigurationException {
+NuageVspPluginClientLoader nuageVspPluginClientClassloader = new 
NuageVspPluginClientLoader(NUAGE_PLUGIN_CLIENT_JAR_FILE);
+nuageVspPluginClientClassloader.loadClasses(relativePath, 
cmsUserInfo, numRetries, retryInterval, nuageVspCmsId);
+return nuageVspPluginClientClassloader;
+}
+
+private void loadClasses(String relativePath, String[] cmsUserInfo, 
int numRetries, int retryInterval, String nuageVspCmsId) throws 
ConfigurationException {
+try {
+Class nuageVspApiClientClass = 
Class.forName(NUAGE_VSP_API_CLIENT_IMPL, true, _loader);
+Class nuageVspSyncClientClass = 
Class.forName(NUAGE_VSP_SYNC_CLIENT_IMPL, true, _loader);
+Class nuageVspGuruClientClass = 
Class.forName(NUAGE_VSP_GURU_CLIENT_IMPL, true, _loader);
+Class nuageVspElementClientClass = 
Class.forName(NUAGE_VSP_ELEMENT_CLIENT_IMPL, true, _loader);
+Class nuageVspManagerClientClass = 
Class.forName(NUAGE_VSP_MANAGER_CLIENT_IMPL, true, _loader);
+
+//Instantiate the instances
+_nuageVspApiClient = 
(NuageVspApiClient)nuageVspApiClientClass.newInstance();
+_nuageVspApiClient.setNuageVspHost(relativePath, cmsUserInfo, 
numRetries, retryInterval, nuageVspCmsId);
+_nuageVspSyncClient = 
(NuageVspSyncClient)nuageVspSyncClientClass.newInstance();
+

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976196#comment-14976196
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43104873
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/net/nuage/vsp/acs/NuageVspPluginClientLoader.java
 ---
@@ -19,28 +19,101 @@
 
 package net.nuage.vsp.acs;
 
+import net.nuage.vsp.acs.client.NuageVspApiClient;
+import net.nuage.vsp.acs.client.NuageVspElementClient;
+import net.nuage.vsp.acs.client.NuageVspGuruClient;
+import net.nuage.vsp.acs.client.NuageVspManagerClient;
+import net.nuage.vsp.acs.client.NuageVspSyncClient;
+import org.apache.log4j.Logger;
+
+import javax.naming.ConfigurationException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLClassLoader;
 
 public class NuageVspPluginClientLoader {
 
-private static NuageVspPluginClientLoader 
nuageVspPluginClientClassloader;
-private ClassLoader loader = null;
+private ClassLoader _loader = null;
+private static final Logger s_logger = 
Logger.getLogger(NuageVspPluginClientLoader.class);
+
+private NuageVspApiClient _nuageVspApiClient;
+private NuageVspElementClient _nuageVspElementClient;
+private NuageVspGuruClient _nuageVspGuruClient;
+private NuageVspManagerClient _nuageVspManagerClient;
+private NuageVspSyncClient _nuageVspSyncClient;
+
+private static final String NUAGE_PLUGIN_CLIENT_JAR_FILE = 
"/usr/share/nuagevsp/lib/nuage-vsp-acs-client.jar";
+private static final String NUAGE_VSP_API_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspApiClientImpl";
+private static final String NUAGE_VSP_SYNC_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspSyncClientImpl";
+private static final String NUAGE_VSP_ELEMENT_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspElementClientImpl";
+private static final String NUAGE_VSP_GURU_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspGuruClientImpl";
+private static final String NUAGE_VSP_MANAGER_CLIENT_IMPL = 
"net.nuage.vsp.acs.client.impl.NuageVspManagerClientImpl";
 
 private NuageVspPluginClientLoader(String 
nuagePluginClientJarLocation) {
 try {
-loader = URLClassLoader.newInstance(new URL[] {new 
URL("jar:file:" + nuagePluginClientJarLocation + "!/")},
+_loader = URLClassLoader.newInstance(new URL[] {new 
URL("jar:file:" + nuagePluginClientJarLocation + "!/")},
 getClass().getClassLoader());
 } catch (MalformedURLException e) {
-e.printStackTrace();
+throw new IllegalArgumentException(e);
 }
 }
 
-public static ClassLoader getClassLoader(String 
nuagePluginClientJarLocation) {
-if (nuageVspPluginClientClassloader == null) {
-nuageVspPluginClientClassloader = new 
NuageVspPluginClientLoader(nuagePluginClientJarLocation);
+public static NuageVspPluginClientLoader getClientLoader(String 
relativePath, String[] cmsUserInfo, int numRetries, int retryInterval,
+String nuageVspCmsId) throws ConfigurationException {
+NuageVspPluginClientLoader nuageVspPluginClientClassloader = new 
NuageVspPluginClientLoader(NUAGE_PLUGIN_CLIENT_JAR_FILE);
+nuageVspPluginClientClassloader.loadClasses(relativePath, 
cmsUserInfo, numRetries, retryInterval, nuageVspCmsId);
+return nuageVspPluginClientClassloader;
+}
+
+private void loadClasses(String relativePath, String[] cmsUserInfo, 
int numRetries, int retryInterval, String nuageVspCmsId) throws 
ConfigurationException {
+try {
+Class nuageVspApiClientClass = 
Class.forName(NUAGE_VSP_API_CLIENT_IMPL, true, _loader);
+Class nuageVspSyncClientClass = 
Class.forName(NUAGE_VSP_SYNC_CLIENT_IMPL, true, _loader);
+Class nuageVspGuruClientClass = 
Class.forName(NUAGE_VSP_GURU_CLIENT_IMPL, true, _loader);
+Class nuageVspElementClientClass = 
Class.forName(NUAGE_VSP_ELEMENT_CLIENT_IMPL, true, _loader);
+Class nuageVspManagerClientClass = 
Class.forName(NUAGE_VSP_MANAGER_CLIENT_IMPL, true, _loader);
+
+//Instantiate the instances
+_nuageVspApiClient = 
(NuageVspApiClient)nuageVspApiClientClass.newInstance();
+_nuageVspApiClient.setNuageVspHost(relativePath, cmsUserInfo, 
numRetries, retryInterval, nuageVspCmsId);
+_nuageVspSyncClient = 
(NuageVspSyncClient)nuageVspSyncClientClass.newInstance();
+

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976145#comment-14976145
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43102747
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 ---
@@ -152,50 +241,185 @@ public NuageVspDeviceVO 
addNuageVspDevice(AddNuageVspDeviceCmd cmd) {
 throw new CloudRuntimeException("A NuageVsp device is already 
configured on this physical network");
 }
 
-Map params = new HashMap();
-params.put("guid", UUID.randomUUID().toString());
-params.put("zoneId", 
String.valueOf(physicalNetwork.getDataCenterId()));
-params.put("physicalNetworkId", 
String.valueOf(physicalNetwork.getId()));
-params.put("name", "Nuage VSD - " + cmd.getHostName());
-params.put("hostname", cmd.getHostName());
-params.put("cmsuser", cmd.getUserName());
-String cmsUserPasswordBase64 = 
org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.encodeBase64(cmd.getPassword().getBytes(Charset.forName("UTF-8";
-params.put("cmsuserpass", cmsUserPasswordBase64);
-int port = cmd.getPort();
-if (0 == port) {
-port = 443;
-}
-params.put("port", String.valueOf(port));
-params.put("apirelativepath", "/nuage/api/" + cmd.getApiVersion());
-params.put("retrycount", String.valueOf(cmd.getApiRetryCount()));
-params.put("retryinterval", 
String.valueOf(cmd.getApiRetryInterval()));
+try {
+NuageVspPluginClientLoader clientLoader = 
NuageVspPluginClientLoader.getClientLoader(null, null, 1, 1, null);
 
-Map hostdetails = new HashMap();
-hostdetails.putAll(params);
+Map clientDefaults = 
clientLoader.getNuageVspManagerClient().getClientDefaults();
+String apiVersion = 
MoreObjects.firstNonNull(cmd.getApiVersion(), (String) 
clientDefaults.get("CURRENT_API_VERSION"));
+if 
(!clientLoader.getNuageVspManagerClient().isSupportedApiVersion(apiVersion)) {
+throw new CloudRuntimeException("Unsupported API version : 
" + apiVersion);
+}
 
-try {
+Map params = new HashMap();
+params.put("guid", UUID.randomUUID().toString());
+params.put("zoneId", 
String.valueOf(physicalNetwork.getDataCenterId()));
+params.put("physicalNetworkId", 
String.valueOf(physicalNetwork.getId()));
+params.put("name", "Nuage VSD - " + cmd.getHostName());
+params.put("hostname", cmd.getHostName());
+params.put("cmsuser", cmd.getUserName());
+String cmsUserPasswordBase64 = 
org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.encodeBase64(cmd.getPassword().getBytes()));
+params.put("cmsuserpass", cmsUserPasswordBase64);
+int port = cmd.getPort();
+if (0 == port) {
+port = 8443;
+}
+params.put("port", String.valueOf(port));
+params.put("apiversion", apiVersion);
+params.put("apirelativepath", "/nuage/api/" + apiVersion);
+params.put("retrycount", 
String.valueOf(MoreObjects.firstNonNull(cmd.getApiRetryCount(), 
clientDefaults.get("DEFAULT_API_RETRY_COUNT";
+params.put("retryinterval", 
String.valueOf(MoreObjects.firstNonNull(cmd.getApiRetryInterval(), 
clientDefaults.get("DEFAULT_API_RETRY_INTERVAL";
+
+final Map hostdetails = new HashMap();
+hostdetails.putAll(params);
 resource.configure(cmd.getHostName(), hostdetails);
 
-final Host host = _resourceMgr.addHost(zoneId, resource, 
Host.Type.L2Networking, params);
+Host host = _resourceMgr.addHost(zoneId, resource, 
Host.Type.L2Networking, params);
 if (host != null) {
--- End diff --

Done.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976142#comment-14976142
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43102657
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 ---
@@ -152,50 +241,185 @@ public NuageVspDeviceVO 
addNuageVspDevice(AddNuageVspDeviceCmd cmd) {
 throw new CloudRuntimeException("A NuageVsp device is already 
configured on this physical network");
 }
 
-Map params = new HashMap();
-params.put("guid", UUID.randomUUID().toString());
-params.put("zoneId", 
String.valueOf(physicalNetwork.getDataCenterId()));
-params.put("physicalNetworkId", 
String.valueOf(physicalNetwork.getId()));
-params.put("name", "Nuage VSD - " + cmd.getHostName());
-params.put("hostname", cmd.getHostName());
-params.put("cmsuser", cmd.getUserName());
-String cmsUserPasswordBase64 = 
org.apache.commons.codec.binary.StringUtils.newStringUtf8(Base64.encodeBase64(cmd.getPassword().getBytes(Charset.forName("UTF-8";
-params.put("cmsuserpass", cmsUserPasswordBase64);
-int port = cmd.getPort();
-if (0 == port) {
-port = 443;
-}
-params.put("port", String.valueOf(port));
-params.put("apirelativepath", "/nuage/api/" + cmd.getApiVersion());
-params.put("retrycount", String.valueOf(cmd.getApiRetryCount()));
-params.put("retryinterval", 
String.valueOf(cmd.getApiRetryInterval()));
+try {
+NuageVspPluginClientLoader clientLoader = 
NuageVspPluginClientLoader.getClientLoader(null, null, 1, 1, null);
 
-Map hostdetails = new HashMap();
-hostdetails.putAll(params);
+Map clientDefaults = 
clientLoader.getNuageVspManagerClient().getClientDefaults();
+String apiVersion = 
MoreObjects.firstNonNull(cmd.getApiVersion(), (String) 
clientDefaults.get("CURRENT_API_VERSION"));
+if 
(!clientLoader.getNuageVspManagerClient().isSupportedApiVersion(apiVersion)) {
+throw new CloudRuntimeException("Unsupported API version : 
" + apiVersion);
+}
 
-try {
+Map params = new HashMap();
+params.put("guid", UUID.randomUUID().toString());
+params.put("zoneId", 
String.valueOf(physicalNetwork.getDataCenterId()));
+params.put("physicalNetworkId", 
String.valueOf(physicalNetwork.getId()));
+params.put("name", "Nuage VSD - " + cmd.getHostName());
--- End diff --

Refactored the whole params approach to be more readable and consistent.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976161#comment-14976161
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43103443
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/manager/NuageVspManagerImpl.java
 ---
@@ -285,60 +529,334 @@ public boolean 
deleteNuageVspDevice(DeleteNuageVspDeviceCmd cmd) {
 return responseList;
 }
 
-@Override
-public boolean configure(String name, Map params) 
throws ConfigurationException {
-try {
-initNuageScheduledTasks();
-} catch (Exception ce) {
-s_logger.warn("Failed to load NuageVsp configuration 
properties. Check if the NuageVsp properties are configured correctly");
+private void registerNewNuageVspDevice(ConfigurationVO currentConfig, 
String registeredNuageVspDevice) {
+if (currentConfig == null) {
+ConfigKey configKey = new 
ConfigKey("Advanced", String.class, "nuagevsp.cms.id", 
registeredNuageVspDevice,
+": - Do 
not edit", false);
+ConfigurationVO configuration = new 
ConfigurationVO("management-server", configKey);
+_configDao.persist(configuration);
+} else {
+String newValue;
+String currentValue = currentConfig.getValue();
+if (!Strings.isNullOrEmpty(currentValue)) {
+newValue = currentValue + ";" + registeredNuageVspDevice;
+} else {
+newValue = registeredNuageVspDevice;
+}
+_configDao.update("nuagevsp.cms.id", newValue);
 }
-return true;
 }
 
-private void initNuageScheduledTasks() {
-Integer numOfSyncThreads = 
Integer.valueOf(_configDao.getValue(NuageVspManager.NuageVspSyncWorkers.key()));
-Integer syncUpIntervalInMinutes = 
Integer.valueOf(_configDao.getValue(NuageVspManager.NuageVspSyncInterval.key()));
-
-if (numOfSyncThreads != null && syncUpIntervalInMinutes != null) {
-ThreadFactory threadFactory = new ThreadFactory() {
-public Thread newThread(Runnable runnable) {
-Thread thread = new Thread(runnable, "Nuage Vsp sync 
task");
-if (thread.isDaemon())
-thread.setDaemon(false);
-if (thread.getPriority() != Thread.NORM_PRIORITY)
-thread.setPriority(Thread.NORM_PRIORITY);
-return thread;
+private void auditHost(HostVO host) {
+_hostDao.loadDetails(host);
+
+boolean validateDomains = true;
+List nuageVspDevices = 
_nuageVspDao.listByHost(host.getId());
+if (!CollectionUtils.isEmpty(nuageVspDevices)) {
+for (NuageVspDeviceVO nuageVspDevice : nuageVspDevices) {
+ConfigurationVO cmsIdConfig = 
_configDao.findByName("nuagevsp.cms.id");
+String nuageVspCmsId = 
findNuageVspCmsIdForDevice(nuageVspDevice.getId(), cmsIdConfig);
+SyncNuageVspCmsIdCommand syncCmd = new 
SyncNuageVspCmsIdCommand(SyncType.AUDIT, nuageVspCmsId);
+SyncNuageVspCmsIdAnswer answer = (SyncNuageVspCmsIdAnswer) 
_agentMgr.easySend(nuageVspDevice.getHostId(), syncCmd);
+
+if (answer != null && !answer.getSuccess()) {
+s_logger.error("Nuage VSP Device with ID " + 
nuageVspDevice.getId() + " is configured with an unknown CMS ID!");
+validateDomains = false;
+} else if (answer != null && answer.getSyncType() == 
SyncType.REGISTER) {
+registerNewNuageVspDevice(cmsIdConfig, 
nuageVspDevice.getId() + ":" + answer.getNuageVspCmsId());
 }
-};
-scheduler = Executors.newScheduledThreadPool(numOfSyncThreads, 
threadFactory);
-scheduler.scheduleWithFixedDelay(new 
NuageVspSyncTask("FLOATING_IP"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes,
-TimeUnit.MILLISECONDS);
-scheduler.scheduleWithFixedDelay(new 
NuageVspSyncTask("ENTERPRISE_NTWK_MACRO"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes,
-TimeUnit.MILLISECONDS);
-scheduler
-.scheduleWithFixedDelay(new 
NuageVspSyncTask("ENTERPRISE"), ONE_MINUTE_MULTIPLIER * 15, 
ONE_MINUTE_MULTIPLIER * syncUpIntervalInMinutes, TimeUnit.MILLISECONDS);
-} 

[jira] [Commented] (CLOUDSTACK-8832) Update Nuage VSP plugin to work with Nuage VSP release 3.2

2015-10-27 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-8832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14976178#comment-14976178
 ] 

ASF GitHub Bot commented on CLOUDSTACK-8832:


Github user nlivens commented on a diff in the pull request:

https://github.com/apache/cloudstack/pull/801#discussion_r43104314
  
--- Diff: 
plugins/network-elements/nuage-vsp/src/com/cloud/network/resource/NuageVspResource.java
 ---
@@ -112,8 +111,8 @@ public boolean configure(String name, Map params) throws Configu
 throw new ConfigurationException("Unable to find zone");
 }
 
-String hostname = (String)params.get("hostname");
-if (hostname == null) {
+_hostName = (String)params.get("hostname");
+if (_hostName == null) {
--- End diff --

Yes, changed for other fields which should not be empty as well.


> Update Nuage VSP plugin to work with Nuage VSP release 3.2
> --
>
> Key: CLOUDSTACK-8832
> URL: https://issues.apache.org/jira/browse/CLOUDSTACK-8832
> Project: CloudStack
>  Issue Type: Improvement
>  Security Level: Public(Anyone can view this level - this is the 
> default.) 
>  Components: Management Server
>Affects Versions: 4.6.0
>Reporter: Nick Livens
>Assignee: Nick Livens
> Attachments: nuageVspMarvinLogs.tar.gz
>
>
> Nuage VSP 3.2 is being released, we want to bring the plugin up to date for 
> this release



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


  1   2   3   4   5   6   >