Commit Graph

30188 Commits

Author SHA1 Message Date
Rohit Yadav 40d12ad40e Merge pull request #1772 from syed/template-sync-fix
CLOUDSTACK-9627 Fix template sync for region store.When using a region store like Swift or S3 as secondary storage,
the `zoneId` can be null. This causes an exception when we try
to convert it to a `long`. This fix guards against that.

Before this fix, if you restart the management server, all the templates
would change to "NOT READY" because the code which syncs the NFS cache
and the object store crashes due to the above mentioned issue.
This PR fixes that.

* pr/1772:
  CLOUDSTACK-9627:Fix template sync for region store

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:29:46 +05:30
Rohit Yadav 0eb1069bbf Merge pull request #1618 from greenqloud/pr-return-os-info-snapshots
[CLOUDSTACK-9643] Now returning os info with the list snapshot responseThis commit adds the ID and display name of the OS on the volume.

* pr/1618:
  CLOUDSTACK-9643: Now returning os info with the list snapshot response

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:26:37 +05:30
Rohit Yadav 136a0ca949 Merge pull request #1622 from greenqloud/pr-template-bits
[CLOUDSTACK-9644] Adding missing bits field to TemplateResponseThis pull request adds a bits field for template size, and sets it equal to ISO size.

* pr/1622:
  CLOUDSTACK-9644: Adding missing bits field to TemplateResponse

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:20:41 +05:30
Rohit Yadav 51aa698010 Merge pull request #1566 from greenqloud/pr-fix-mgmt-setup-master
[CLOUDSTACK-9645] Followup fix for #1162: Add support for not (re)starting server after cloud-setup-management.New version against #1330, opened against master.

```
Moving stop of management in config inside if statement.

It will only run the stop command when --no-start is specified.
```

* pr/1566:
  CLOUDSTACK-9645: Moving stop of management in config inside if statement.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:19:46 +05:30
Rohit Yadav 58317ebd14
Merge branch '4.9' 2016-12-08 00:18:56 +05:30
Rohit Yadav de7a06efec Merge pull request #1809 from Accelerite/CLOUDSTACK-9646
CLOUDSTACK-9646: No usage is generated for uploaded templates/volumes from localpublished usage events on successful upload of template or volume.

* pr/1809:
  CLOUDSTACK-9646: No usage is generated for uploaded templates/volumes from local

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:17:40 +05:30
Rohit Yadav 0e057ad69e
Merge pull request #1579 from nlivens/nuage_vsp_shared_networks
CLOUDSTACK-9403 : Support for shared networks in Nuage VSP pluginThis is first phase of support of Shared Network in cloudstack through NuageVsp Network Plugin. A shared network is a type of virtual network that is shared between multiple accounts i.e. a shared network can be accessed by virtual machines that belong to many different accounts. This basic functionality will be supported with the below common use case:
- shared network can be used for monitoring purposes. A shared network can be assigned to a domain and can be used for monitoring VMs belonging to all accounts in that domain.

With the current implementation with NuageVsp plugin, Each shared network needs its unique IP address range, and can not overlap with another shared network.
In VSD, it is implemented in below manner:
- In order to have tenant isolation for shared networks, we will have to create a Shared L3 Subnet for each shared network, and instantiate it across the relevant enterprises. A shared network will only exist under an enterprise when it is needed, so when the first VM is spinned under that ACS domain inside that shared network.

PR contents:
1) Support for shared networks with tenant isolation on master with Nuage VSP SDN Plugin.
2) Marvin test coverage for shared networks on master with Nuage VSP SDN Plugin.
3) Enhancements on our exiting Marvin test code (nuagevsp plugins directory).
4) PEP8 & PyFlakes compliance with our Marvin test code.

* pr/1579:
  CLOUDSTACK-9403: Support for shared networks in Nuage VSP plugin

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-08 00:06:10 +05:30
Rohit Yadav 6bdc411ff2
Merge branch '4.9' 2016-12-08 00:04:26 +05:30
Rohit Yadav 2e5373b7f8 Merge pull request #1659 from murali-reddy/multiple_public_ip_ranges_non_vpc
CLOUDSTACK-9339 Virtual Routers don't handle Multiple Public Interfaces correctlyAs pointed out in CLOUDSTACK-9339, in case of multiple public IP's from different public IP ranges are associated with VR, VR functionality is broken from 4.6. Below are the brief list of problems specific to non-VPC networks addressed in the PR. This PR handles both VPC and non-VPC scenarios.
- reverse traffic for the connections accepted on the eth3 and above public interfaces are getting blocked. Need a rule for e.g "-A FORWARD -i  eth3 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT" in the FORWARD chain of filter table to permit reverse path traffic for established connections.
- outbound public traffic from eth0 to eth3 (or for interfaces above like eth4 eth5 etc) needs rule to run through FW_OUTBOUND chain in the filter table
- network stats on public interfaces eth3 are getting gathered
- default gateway is missing in the device specific routing table, resulting in traffic to be looked up in main routing table
- creating a device specific route table is generating "from all lookup Table_eth3" in the
  ip rules, resulting in rest of the traffic getting blocked.

Picked few commits from #1519 from dsclose (https://github.com/apache/cloudstack/pull/1519) submitted for 4.7

Marvin tests are added to test below
- Static NAT works on the public interfaces above eth2, in case non-vpc networks
- Portforwarding works on the public interfaces above eth2, in case non-vpc networks
- Route tables are configured as expected for the device specific table for the public interfaces above eth2, in case non-vpc networks
- IP tables rules are as expected for the traffic from and to the public interfaces above eth2, in case non-vpc networks

* pr/1659:
  CLOUDSTACK-9339 Virtual Routers don't handle Multiple Public Interfaces correctly

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-07 23:59:39 +05:30
Frank Maximus 4c91c9c519 CLOUDSTACK-9403: Support for shared networks in Nuage VSP plugin
BUG-ID: CLOUDSTACK-9403
Co-Authored-By: Prashanth Manthena <prashanth.manthena@nuagenetworks.net>
Co-Authored-By: Rahul Singal <rahul.singal@nuagenetworks.net>
Co-Authored-By: Sigert Goeminne <sigert.goeminne@nuagenetworks.net>
Co-Authored-By: Nick Livens <nick.livens@nuagenetworks.net>
2016-12-07 10:03:28 +01:00
Murali Reddy 6749785cab CLOUDSTACK-9339 Virtual Routers don't handle Multiple Public Interfaces correctly
-when processing static nat rule, add a mangle table rule, to mark the traffic
   from the guest vm when it has associated static nat rule so that traffic gets
   routed using the route tabe of the device which has public ip associated

  -fix the case where nic_device_id is empty when ip is getting disassociated
   resulting in empty deviceid in ips.json

  -add utility methods in CsRule, and CsRoute to add 'ip rule' and 'ip route' rules respectivley

  -ensure traffic from all public interfaces are connection marked with device number, and restored
   for the reverse traffic. use the connection marked number to do device specific routing table lookup
   fill the device specific routing table with default route

  -component tests for testing multiple public interfaces of VR
2016-12-07 14:33:24 +05:30
Rohit Yadav 70c79ad13c
Merge branch '4.9' 2016-12-07 01:35:56 +05:30
Rohit Yadav decb2e4d2d
Merge pull request #1799 from shapeblue/bcprov-upgrade
CLOUDSTACK-9632: Upgrade bouncy castle to version 1.55- Upgrades Maven dependency version to v1.55
- Fixes bountycastle usages and issues
- Adds timeout to jetty/annotation scanning
- Picks up PR #1510 by Daan

* pr/1799:
  CLOUDSTACK-9632: Upgrade bouncy castle to version 1.55

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-07 01:35:38 +05:30
Rohit Yadav abfcd5b95f CLOUDSTACK-9632: Upgrade bouncy castle to version 1.55
- Upgrades Maven dependency version to v1.55
- Fixes bountycastle usages and issues
- Adds timeout to jetty/annotation scanning
- Fixes servlet issue, uses servlet 3.1.0
- Downgrade javassist used by reflections to fix annotation process errors
- Make console-proxy-rdp bc dependency same as rest of the codebase
- Picks up PR #1510 by Daan

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-06 17:24:24 +05:30
Rohit Yadav 08a5ef7ccf
Merge branch '4.9' 2016-12-06 11:57:17 +05:30
Rohit Yadav 8d506a624b
Merge pull request #1816 from shapeblue/4.9-fix-npe-vmware
CLOUDSTACK-9564: Fix NPE due to intermittent test assertionThe test assertion on a pool object may return a null object, as objects
can be randomly expired/tombstoned. This will fix a NPE sometimes seen due
to recently merge for the fix for CLOUDSTACK-9564.

(we can merge this if Travis passes)

/cc @abhinandanprateek @murali-reddy

* pr/1816:
  CLOUDSTACK-9564: Fix NPE due to intermittent test assertion

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-06 11:56:53 +05:30
Rohit Yadav dcbf3c8689 CLOUDSTACK-9564: Fix NPE due to intermittent test assertion
The test assertion on a pool object may return a null object, as objects
can be randomly expired/tombstoned. This will fix a NPE sometimes seen due
to recently merge for the fix for CLOUDSTACK-9564.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-05 16:45:33 +05:30
Rohit Yadav f82873ebf8
Merge branch '4.9' 2016-12-05 15:32:11 +05:30
Rohit Yadav 48b28f7d6e
Merge branch '4.8' into 4.9 2016-12-05 15:32:03 +05:30
Rohit Yadav 20aea27dc0
Merge pull request #1765 from shapeblue/CLOUDSTACK-9586
Cloudstack 9586: When using local storage with Xenserver prepareTemplate does not work with multiple primary storeThe race condition will happen whenever there are multiple primary storages and the CS tries to mount the secondary store to xenserver host simultaneously.

Due to synchronised block one mount will be successful and other thread will get the already mounted SR. Without the fix the two thread will try to mount it parallely and one will fail on Xenserver.

* pr/1765:
  Cloudstack 9586: When using local storage with Xenserver prepareTemplate does not work with multiple primary store The race condition will happen whenever there are multiple primary storages and the CS tries to mount the secondary store to xenserver host simultaneously. Due to synchronised block one mount will be successful and other thread will get the already mounted SR. Without the fix the two thread will try to mount it parallely and one will fail on Xenserver.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-05 15:31:25 +05:30
Rohit Yadav 45a746ad2e
Merge branch '4.9' 2016-12-05 15:16:22 +05:30
Rohit Yadav 8d14e8e8b5 Merge pull request #1729 from shapeblue/vmware-memleak-fix
CLOUDSTACK-9564: Fix memory leaks in VmwareContextPoolIn a recent management server crash, it was found that the largest contributor
to memory leak was in VmwareContextPool where a registry is held (arraylist)
that grows indefinitely. The list itself is not used anywhere or consumed. There
exists a hashmap (pool) that returns a list of contexts for existing poolkey
(address/username) that is used instead.

This fixes the issue by removing the arraylist registry, and limiting the
length of the context list for a given poolkey.

@blueorangutan package

* pr/1729:
  CLOUDSTACK-9564: Fix memory leaks in VmwareContextPool

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-05 15:15:58 +05:30
Rohit Yadav 3a03a01093
Merge branch '4.8' into 4.9
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-05 15:15:00 +05:30
Rohit Yadav 9e4246a26d Merge pull request #1808 from shapeblue/fix-release-script-checkstyle
CLOUDSTACK-9648: Fix release script to update checkstyle pomThis fixes build_asf.sh release script to update checkstyle pom.xml with the
provided new version.

* pr/1808:
  CLOUDSTACK-9648: Fix release script to update checkstyle pom

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-05 15:08:04 +05:30
Rohit Yadav 46d11b3711
Merge branch '4.9' 2016-12-05 13:52:22 +05:30
Rohit Yadav 61644f9ea9
Merge branch '4.8' into 4.9 2016-12-05 13:51:43 +05:30
Rohit Yadav d540015bc8 Merge pull request #1802 from murali-reddy/test_privategw_acl
CLOUDSTACK-9635: fix test_privategw_acl.pyensure VLAN used for createPrivateGateway is determined after the guest
networks in the VPC is created, so that we skip VLAN allocated for guest
network for the private network of vpc gateway

* pr/1802:
  CLOUDSTACK-9635: fix test_privategw_acl.py

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-05 13:51:09 +05:30
Rajani Karuturi aed59433a2 CLOUDSTACK-9646: No usage is generated for uploaded templates/volumes from local
published usage events on successful upload of template or volume.
2016-12-05 10:51:23 +05:30
Murali Reddy db39a06085 CLOUDSTACK-9635: fix test_privategw_acl.py
ensure VLAN used for createPrivateGateway is determined after the guest
networks in the VPC is created, so that we skip VLAN allocated for guest
network for the private network of vpc gateway
2016-12-05 09:54:45 +05:30
Rohit Yadav a2e65ac28c
Merge branch '4.9' 2016-12-02 22:29:32 +05:30
Rohit Yadav b81683b742
Merge branch '4.8' into 4.9 2016-12-02 22:29:16 +05:30
Rohit Yadav 14b4642ac8 Merge pull request #1806 from shapeblue/4.8-travis-apt-clean
travis: cleanup apt before installing packagesThis aims at fixing recent Travis failures.

* pr/1806:
  CLOUDSTACK-9584: Fix Travis to cleanup apt repo before pkg installation

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-02 22:28:51 +05:30
Rohit Yadav 7da423157b CLOUDSTACK-9584: Fix Travis to cleanup apt repo before pkg installation
This fixes an env issue that cleans apt repo pkg/cache, before installing new
packages.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-02 22:21:06 +05:30
Abhinandan Prateek ba32ac1a7c Cloudstack 9586: When using local storage with Xenserver prepareTemplate does not work with multiple primary store
The race condition will happen whenever there are multiple primary storages and the CS tries to mount the secondary store to xenserver host simultaneously.
Due to synchronised block one mount will be successful and other thread will get the already mounted SR. Without the fix the two thread will try to mount it parallely and one will fail on Xenserver.
2016-12-02 13:37:47 +05:30
Rohit Yadav 77d2984494 CLOUDSTACK-9648: Fix release script to update checkstyle pom
This fixes build_asf.sh release script to update checkstyle pom.xml with the
provided new version.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-02 13:23:41 +05:30
Rohit Yadav 7670ce0e65
Merge branch '4.9'
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-02 12:00:44 +05:30
Rohit Yadav f231c8cd98 Merge pull request #1803 from nitin-maharana/nitin6
CLOUDSTACK-9636: The host alerts box should be named as hosts in Alerts.The host Alerts box shows hosts in Alerts. The name host Alerts is misleading,
it should be changed to hosts in alerts.

For rest of the languages, it should be modified accordingly.
As I am not familiar with other languages, contributors familiar with other languages can suggest the change. or Open a new PR.

* pr/1803:
  CLOUDSTACK-9636: The host alerts box should be named as hosts in Alerts.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-02 11:56:49 +05:30
Rohit Yadav cc73f17a75
Merge pull request #1800 from shapeblue/4.8-marvin-fix-for-snapshots-xenserver
CLOUDSTACK-9633:test_snapshot is failing due to incorrect string construction in utils.py

* pr/1800:
  CLOUDSTACK-9633:test_snapshot is failing due to incorrect string construction in utils.py

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-02 11:31:02 +05:30
Rohit Yadav e091e82a7f
Merge branch '4.9' 2016-12-02 10:42:31 +05:30
Rohit Yadav 3ef775dc4d Merge pull request #828 from sureshanaparti/CLOUDSTACK-8854
CLOUDSTACK-8854: Apple Mac OS/X VM get created without USB controller in ESXi hypervisorsCLOUDSTACK-8854: Apple Mac OS/X VM get created without USB controller in ESXi hypervisors

Problem Description: CloudStack doesnt add a USB controller to the Apple Mac OS X VMs created in ESXi hypervisors. But, vSphere Client, by default, adds a USB Controller to the Mac OS VMs. Mac OS X machines require USB Controller for USB mouse and keyboard access.

Root Cause: The Guest OS details are specified in the Virtual Machine Configuration Spec for creating the VM (using the SDK API) in the EXSi hypervisor. No USB Controller is added to the Virtual Machine Configuration Spec. As the guest OS Identification details are specified in the VM Configuration Spec, It is assumed that the Create VM SDK API would create the defaults in the VM same as vSphere Client. But, as per the observation, USB Controller is not added to the Guest OS - Mac OS VM created through the SDK API.

Resolution: When the Guest OS is Apple Mac OS, Add the USB Controller (EHCI+UHCI - Mac supported) to the Virtual Machine Configuration Spec before Creating or Starting the VM. For any existing Mac OS VMs, Stop and Start to add the USB Controller. For new VMs with Mac OS, USB Controller is added automatically.

* pr/828:
  CLOUDSTACK-8854: Apple Mac OS/X VM get created without USB controller in ESXi hypervisors

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-02 10:41:27 +05:30
Pall Helgason 6b2eb3b99a CLOUDSTACK-9645: Moving stop of management in config inside if statement.
It will only run the stop command when --no-start is specified.
2016-12-01 12:59:37 +00:00
Pall Helgason 52f52847a4 CLOUDSTACK-9644: Adding missing bits field to TemplateResponse 2016-12-01 12:56:03 +00:00
Pall Helgason 7ef87b6ad1 CLOUDSTACK-9643: Now returning os info with the list snapshot response 2016-12-01 12:51:44 +00:00
Boris f1fd325c08 CLOUDSTACK-9633:test_snapshot is failing due to incorrect string construction in utils.py
Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-01 17:10:20 +05:30
Rohit Yadav 90a3d97c5e CLOUDSTACK-9564: Fix memory leaks in VmwareContextPool
In a recent management server crash, it was found that the largest contributor
to memory leak was in VmwareContextPool where a registry is held (arraylist)
that grows indefinitely. The list itself is not used anywhere or consumed. There
exists a hashmap (pool) that returns a list of contexts for existing poolkey
(address/username) that is used instead.

This fixes the issue by removing the arraylist registry, and limiting the
length of the context list for a given poolkey.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-01 15:27:29 +05:30
Suresh Kumar Anaparti 309da6a57f CLOUDSTACK-8854: Apple Mac OS/X VM get created without USB controller in ESXi hypervisors 2016-12-01 14:32:18 +05:30
Nitin Kumar Maharana 0198abbc40 CLOUDSTACK-9636: The host alerts box should be named as hosts in Alerts. 2016-12-01 13:56:29 +05:30
Rohit Yadav e8de07a1ae
Merge branch '4.9' 2016-12-01 10:38:51 +05:30
Rohit Yadav 5d7288b858
Merge branch '4.8' into 4.9 2016-12-01 10:38:43 +05:30
Rohit Yadav b57d0ae7c3 Merge pull request #1801 from murali-reddy/test_router_dhcp_opts
fix marvin test failure test_router_dhcp_optsmarvin, VirtualMachine object's, nic attribute does not have nic's in any
particualr order in the array. so check isdefault attribute to the get non-default nic

earlier test made assumption that nic[0] is default nic, which is not true always

* pr/1801:
  CLOUDSTACK-9634: fix marvin test failure test_router_dhcp_opts

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2016-12-01 10:37:32 +05:30