Commit Graph

8 Commits

Author SHA1 Message Date
Rohit Yadav e06f73e88c APPLE FR22: Multiple Management Servers support for agents (FRO-72)
FR12 introduce basic support for comma-separated list of management
servers for agents, while makes an explicit LB unnecessary.

On the agent side, the 'host' is saved as:
<comma separated addresses>@<algorithm name>.

Where the algorithm name is the name of the lb algorithm. The

This FR introduces two new global settings:

- indirect.agent.lb.algorithm: The algorithm for the indirect agent LB.
- indirect.agent.lb.check.interval: The preferred host check interval
  for the agent's background task that checks and switches to agent's
  preferred host.

Any changes to the above two global settings and the 'host' setting does
not require restarting of the management server(s).

The indirect.agent.lb.algorithm supports following algorithm options:

- static: use the list as provided.
- roundrobin: evenly spreads hosts across management servers.
- shuffle: (pseudo) randomly sorts the list (not recommended for production).

From the agent's perspective, the first address in the propagated list
will be considered the preferred host. A new background task can be
activated by configuring the indirect.agent.lb.check.interval which is
a cluster level global setting from CloudStack or admins can override
this by configuring the 'host.lb.check.interval' in the host's
agent.properties file.

Comma-separated management server list is propagated to agents on
following cases:
- Addition of a host (including ssvm, cpvm systevms).
- Connection or reconnection by the agents to a management server.
- After admin changes the 'host' and/or the
  'indirect.agent.lb.algorithm' global settings.

First the agent connects to the management server and sends its current
management server list, which is compared by the management server and
in case of failure a new/update list is sent for the agent to persist.

Every time agent gets a ms-host list and the algorithm, the host specific
background check interval is also sent and it dynamically reconfigures
the background task without need to restart agents.

The 'static' and 'roundrobin' algorithms, strictly checks for the order
as expected by them, however, the 'shuffle' algorithm just checks for
content and not the order of the comma separate ms host addresses.

Signed-off-by: Rohit Yadav <rohit.yadav@shapeblue.com>
2018-03-01 10:45:05 +01:00
Alena Prokharchyk ac1b4b0316 Fixed unittest 2014-06-05 18:37:56 -07:00
Saksham Srivastava eb195d0575 CLOUDSTACK-6151: Local data disk with tag goes to the wrong local storage pool
Signed-off-by: Koushik Das <koushik@apache.org>
2014-04-16 16:19:08 +05:30
Sanjay Tripathi c7d31fe288 CLOUDSTACK-4760 : Enabling GPU support for XenServer.
CLOUDSTACK-4762 : Enabling VGPU support for XenServer.

This feature is to enable the GPU-passthrough and vGPU functionality,
with the help of this feature, admins/users will be able to leverage
the GPU graphics unit power by deploying a virtul machine with GPU or
vGPU support or by changing the service offering of an existing VM
at any later point of time. There GPU/vGPU enabled VMs are able to run
graphical applications.
For now, this feature is only supported with XenServer hypervisor but
can be extended to add the support of other hypervisors.
2014-03-11 15:44:51 +05:30
Bharat Kumar 7095ea2b5e CLOUDSTACK-4738 Dynamic compute offering.
Signed-off-by: Koushik Das <koushik@apache.org>
2013-11-07 12:41:20 +05:30
Bharat Kumar 052c24c4d1 CLOUDSTACK-702: Multiple ip ranges in different subnets.
This feature enables adding of guest ip ranges (public ips)  form different subnets.

In order to provide the dhcp service to a different subnet we create an ipalias on the router. This allows the router to listen to the dhcp request from the guest vms and respond accordingly. Every time a vm is deployed in the new subnet we configure an ip alias on the router. Cloudstack uses dnsmasq to provide dhcp service. We need to configure the dnsmasq to issue ips on the new subnets. Added a new class dnsmasqconfigurator which generates the dnsmasq confg file, this file replaces the old config in the router.

The details of the alias ips are stored in db in the nic_ip_alias table. Every time a new subnet is added one of the ip from the subnet is used to configure the ip alias.

I have pushed the code to  https://github.com/bvbharatk/cloud-stack/tree/Cloudstack-702 , also rebased the code with master.
I need to test the code for advanced sg enabled network using kvm.

I have added the unit test
Marvin tests are at https://git-wip-us.apache.org/repos/asf?p=cloudstack.git;h=53e4965

Also accomodated some of the changes suggested by koushik.
corrected the import statements. renamed the IpAlias command to createIpAlias command.

This feature supports only ipv4
2013-05-13 17:06:44 +05:30
Kelven Yang 5782abf8f8 Update unit test configuraitons to new custom Spring AOP 2013-03-29 11:12:36 -07:00
Alena Prokharchyk 37cdb5d74b CLOUDSTACK-766 - allow Vlan assignment to Isolated network. The network with Vlan assigned, gets created with Setup state, and will never get picked up by the GC thread meaning its vlan will never get released 2013-03-21 16:05:48 -07:00