Commit Graph

449 Commits

Author SHA1 Message Date
Sheng Yang 62ac899091 bug 9154: Initial check in for enabling redundant virtual router
This patch enable redundant virtual routers.

1. To enable this feature, db need to be updated using follow SQL by now(we
would get a UI way later):

UPDATE network_offerings SET redundant_router=1 WHERE guest_type="Virtual" AND
system_only=0;

2. System would try to start up two routers at different hosts. But if there is
only one host in the zone, system would start up two routers on it.

3. The failover part is using keepalived, and connection tracking part is using
conntrackd. There would be one master router and one backup router. The status
of router(master or backup) can be query from the database table domain_router
now. Management server would update the status every 30s by default.

4. The routers for the same zone would use same external NIC(same ip and mac).
The script used for fail-over would ensure only one external NIC present in the
network at any time.

5. Currently management server don't got the ability to stop one of router is
both of them reported as master. The feature is in the todo list.

After two routers start up, disconnect anyone of them, the guest network
shouldn't be affected, and established connection(http, ssh, etc.) should still
works. The fail-over on gateway part should be 3~4 seconds.

Currently the patch works with KVM. Would deal with vmware and XenServer soon.
2011-06-07 14:47:45 -07:00
anthony 37e6ded80c bug 10023: only set ip route for internal DNS
status 10023: resolved fixed
2011-05-25 17:39:20 -07:00
Edison Su a13be45f7b bug 8350:
haproxy tunning:
0. Test case:
   httpd running in 5 user VMs, all of them created on a xenserver host(16 core, 42G memroy, 10G network)
   domR running on an anther host with same hardware configuration.
   test application, ab, running on anther host behind an anther seperate switch
1.haproxy is not a memory intensive app. I can get 4625.96 connection/s with 1G memory. While it's really a CPU intensive app, domR always uses around 100% CPU on the host.
2.By default, you can't get better connection/s rate, because ip_conntrack_max and tw_bucket are too small, you will see the error in domR like:
   "TCP: time wait bucket table overflow" or "nf_conntrack: table full, dropping packet".
  So I increase these numbers to 1000000 from 65536, then I can steadly get around 4600 connection/s when memory is >= 1G.

  Here is the connection per second, tested by "ab -n 1000000 -c 100 http://192.168.170.152:880/test.html"
  domR memory   conn/s
  128M:         3545.55
  256M:         4081.38
  512M:         4318.18
  1G:           4625.96
  7G:           4745.53

3. If I enable notrack for both connections between domr/user vm, and public network, that tell iptable in domR don't track the connection during my test, then I can get better number, around
5800 connections/s. But we can't enable notrack, as iptables is used to track throughput in domR.

4. In a word, with this commit, the connection rate of haproxy can be increased from 1000-2000/s to 4700/s when domR's memory is larger than 1G.

5. How many CPU need to assign to domR to get this number?  Haven't finished yet, as CPU is shared by all the VMs on the host, if other VMs are busy, it will impact the performance of haproxy.
2011-05-21 21:05:28 -04:00
Chiradeep Vittal 99c8830a2e Update README for building systemvm 2011-05-20 17:52:27 -07:00
Sheng Yang ae1753c997 Revert "Add error check for buildsystemvm.sh"
This reverts commit a2c7e6f5bf5985d47f9ef25d1569931f28ff4258.
2011-05-17 14:16:25 -07:00
Sheng Yang 7bdaa210a1 Add error check for buildsystemvm.sh
set -e can stop the script if something went wrong. set -u can stop on
uninitialized variable reference.
2011-05-16 13:57:05 -07:00
Abhinandan Prateek 6707048fd5 bug 9869: if several port forwarding rules are deleted in quick succession it makes the router iptables inconsistent
status 9869: resolved fixed
2011-05-16 13:49:24 +05:30
Chiradeep Vittal 8ac4605a0f bug 9771: also for vmware 2011-05-12 15:07:16 -07:00
Abhinandan Prateek d8b7f5c19b bug 8115: Source IP filtering in Virtual Router
status 8115: resolved fixed

Changes to the router firewall.sh patch to add cidrs
2011-05-12 15:20:00 +05:30
Chiradeep Vittal 515981a436 bug 9544: deal with same ports forwarded from different public ips
status 9544: resolved fixed
2011-05-05 16:49:49 -07:00
Frank 3b75abbde7 Fix DomR reply to windows's periodical DNS requirement 2011-04-21 11:23:23 -07:00
Frank 92155522f2 Add license header to files 2011-04-14 11:23:14 -07:00
Kelven Yang 253b8837b4 Fix a problem in userdata.sh to set permissions in .htaccess file, extra quot cause apache internal server error 2011-04-12 14:37:09 -07:00
Chiradeep Vittal 1e6024b83f bug 8959: 1. rp_filter prevents connections that span eth2 and eth3 because of default route
2. delete before add of default nat rules
status 8959: resolved fixed
2011-04-04 18:59:40 -07:00
Edison Su 8b3e22e84c enable serial console for system vm, to make debug easier 2011-03-31 19:11:09 -04:00
Edison Su 9854db7dcd bug 8459: acpiphp and pci_hotplug modules need to be auto loaded in domr
status 8459: resolved fixed
2011-03-31 19:11:06 -04:00
Murali Reddy 1b251a5fc8 Bug 4061: support for Microsoft Hyper-V changes- part 1 2011-03-30 18:48:51 +05:30
Kelven Yang 342648244d bug 8994: fix issues in userdata.py to support user_data in vmware 2011-03-23 13:34:40 -07:00
alena ec96a9afea Reverted Anthony's checkin for systemVmPatch which he added by mistake. 2011-03-18 18:12:53 -07:00
anthony 2b188b37dd fixed start management server 2011-03-18 16:43:51 -07:00
Chiradeep Vittal 20045b3664 bug 8892: accept nameserver configurations on non-default networks. this is because if dnsmasq sends no nameservers, dhclient deletes all entries from resolv.conf. the MS will send the eth0 ip of the dhcp server / virtual router on the default network as the nameserver on the non-default networks 2011-03-07 17:04:45 -08:00
Chiradeep Vittal a65dd9d9eb Ensure password server is started inside dhcp server system vms 2011-03-02 17:38:38 -08:00
Edison Su 88f3d04eb2 fix dns issue that in direct network mode, user vm can not get domr ip as dns server, then user vm can resolve its hostname, the consequence is that "starting sendmail" is tooo slow 2011-02-15 16:29:57 -05:00
Chiradeep Vittal 10dc1c75d8 bug 8370: pass in original params when calling delete during add
status 8370: resolved fixed
2011-02-08 16:41:27 -08:00
Edison Su 99c6d823b0 fix setting port forword rules 2011-02-08 14:50:58 -05:00
Chiradeep Vittal 711c4eeaae bug 8209,8370,8459: cleanup scripting 2011-02-08 12:10:07 -08:00
alena 54236677f3 bug 8419: changed domR password reset script to work with 2.1.x and 2.2 password scripts on userVm side
status 8419: resolved fixed
2011-02-07 11:04:55 -08:00
Chiradeep Vittal 6074dcb999 Silence vhd-convert, tell us how long it takes 2011-02-02 12:56:46 -08:00
Chiradeep Vittal d7aa4ef4e2 Add some useful packages to systemvm 2011-02-02 12:56:46 -08:00
alena ff281af035 bug 8253: get_password_from_domr is a part of source code now. It should be located under /usr/bin/ directory on the Management server once cloudstack software is installed
status 8253: resolved fixed
2011-02-01 17:40:00 -08:00
Chiradeep Vittal 757bd0b5e4 bug 8254: point save password to right location 2011-01-28 16:01:52 -08:00
Chiradeep Vittal 42f6e21d77 Detect hypervisor more reliably 2011-01-26 15:13:43 -08:00
Kelven Yang 8c77158bb9 fix domR setup issue when interface number is less than 3 2011-01-21 17:42:12 -08:00
Kelven Yang 6fe42d144f remove escapes in awk scripts when it is running inside domR 2011-01-13 14:28:06 -08:00
Chiradeep Vittal 9f9b838c41 Enable daily log of system stats on systemvms
Fully automate building of systemvm -- no more required to type y to accept sun jre license
install of xenstore utils was broken, fix
2011-01-13 12:36:38 -08:00
Chiradeep Vittal ffdbab065b bug 7141: rotate standard logs more aggressively 2011-01-13 12:36:38 -08:00
Chiradeep Vittal 1327d6f914 bug 7141: make ppp(vpn) less verbose 2011-01-13 12:36:38 -08:00
Chiradeep Vittal a724d587bf bug 7141: make dnsmasq less verbose 2011-01-13 12:36:38 -08:00
Chiradeep Vittal 8032b2d62a bug 7141: limit apache logs to 5 days 2011-01-13 12:36:38 -08:00
Chiradeep Vittal 17451e1dae bug 7141: cleanup cloudstack logs older than 7 days 2011-01-13 12:36:38 -08:00
Kelven Yang 55f28c3a2b Network Usage for vmware 2011-01-13 11:24:15 -08:00
Chiradeep Vittal b00e2f734e Automate vmware systemvm appliance generation 2011-01-12 17:31:39 -08:00
Chiradeep Vittal 1934e79900 bug 7141: rotate logs 2011-01-12 17:31:39 -08:00
Chiradeep Vittal 6ecbbe0b37 Add logrotate for dnsmasq and haproxy 2011-01-12 17:31:39 -08:00
Chiradeep Vittal ca2d32ad44 initial debian config for logging 2011-01-12 17:31:38 -08:00
nit 6850a0ae9a bug 7519 : Opening eth2 for public traffic on ssvm. Implementing the ip firewall for zone to zone copy in the Apache layer. Disabling directory listing for extract server root. 2011-01-11 20:05:35 +05:30
Chiradeep Vittal adfc5c06a6 Use global for release 2011-01-07 15:55:17 -08:00
Edison Su d33d61b1b4 fix default gw one more time... 2011-01-07 08:40:22 -05:00
Edison Su a0ce28b769 one more fix for router gw, and rhel build 2011-01-07 08:27:24 -05:00
Edison Su 4a409200dc fix build for rhel6 and fix router default gw 2011-01-07 08:02:15 -05:00
Chiradeep Vittal dd3f184d0e bug 7790: do not set default route in some cases 2010-12-30 18:27:18 -08:00
Chiradeep Vittal c9c08a3ff8 bug 7790: do not set default route in some cases 2010-12-30 18:25:39 -08:00
anthony 3ac9397d74 add vhd-util which comes from xen-4.0.0/tools/blktaps/vhd, it doesn't check timestamp 2010-12-22 19:54:36 -08:00
edison b49503064a bug 7518: disable nfs-common for router/console
status 7518: resovled fixed
2010-12-15 11:35:52 -08:00
Kelven Yang 1689ed8150 1) Add vmwapre library jars to deps and purposely left vmware-axis.jar behind to use cloud-axis.jar instead, this is to solve the conflict between iControl.jar
2) Fix issues in setting user_data python implementation for vmware
2010-12-11 11:08:39 -08:00
Frank Zhang 44ad8d1d67 remove wscript_build from patches/ 2010-12-04 23:03:24 -08:00
abhishek 1aee756184 bug 7345: During the expunge operation, we were not calling the deleteipforwardingrule method, for a rule which was static nat. Adding that logic. Also, making a change in the domr script as we do not need to execute a line on deletion of a rule
status 7345: resolved fixed
2010-11-30 10:07:10 -08:00
edison 97efc6671f bug 7294: disable rp_filter for cpvm&ssvm
status 7294: resolved fixed
2010-11-22 23:27:25 -08:00
Chiradeep Vittal 8e4f05075b IPSec NETKEY requires no redirects 2010-11-18 18:38:29 -08:00
Chiradeep Vittal c53e165eaa bug 6971: bring back l2tp port 1701 2010-11-18 14:06:01 -08:00
Chiradeep Vittal de49fbad6f 1-1-NAT feature broke regular NAT, fixing 2010-11-18 14:05:03 -08:00
Chiradeep Vittal 796f295194 Log actions to /var/log/cloud.log 2010-11-18 14:05:03 -08:00
Kelven Yang 5490577469 1) Remove forwarding between eth1 and eth2 as it does not solve the problem of asymmetic routing
2) correct Eclipse project settings
3) If VM is hosted by vmware hypervisor, give the previous host preference to start on to fit VMware's VM-centric model
2010-11-17 15:55:04 -08:00
Chiradeep Vittal 31e17b907d bug 6971: ensure no conflicts with portforwarding rules for vpn udp ports
also, do not open up port 1701 -- only used on ppp interface not public interface
also clean up password generator, make it easier to use and more secure
moved some constants to NetUtils
heuristic to determine if an ip is one-to-one nat'ted
2010-11-17 15:32:50 -08:00
abhishek 1faaba8fb0 fixed a corner case; also changed the commands to be async and changed the method signatures to conform with the master refactor 2010-11-11 13:07:26 -08:00
abhishek 239942bbe1 refactored all the commands to cater to keshav's needs, and added the new apis. the initial set of testing is complete, will now focus on corner cases 2010-11-11 13:07:26 -08:00
Kelven Yang 4e7870aea1 remove a python log statement from userdata.py 2010-11-10 14:51:13 -08:00
Kelven Yang 9b1d0a7054 allow cross-forwarding of traffic between private/public interface in domR 2010-11-08 14:58:23 -08:00
Kelven Yang e02a8c9d9f Support for Chiradeep's new template 2010-11-05 18:37:29 -07:00
Chiradeep Vittal 6ca2f67f8c add vpn scripts into signature determination, make release a variable 2010-11-05 14:28:36 -07:00
Chiradeep Vittal f4e2631dbe bug 6989: prettify 2010-11-04 15:06:09 -07:00
Chiradeep Vittal 75ff09167e bug 6989: always return success inside remove script 2010-11-04 15:06:08 -07:00
Chiradeep Vittal 72799cbbab master converter: raw -> vhd, qcow2, vmdk + compress + generate md5sum 2010-11-03 14:15:11 -07:00
Chiradeep Vittal 5732e42fd1 fix typo, add tdb tool to read ppp database 2010-11-03 14:06:23 -07:00
Chiradeep Vittal e1cb94831f VPN users feature complete 2010-11-03 14:02:13 -07:00
Chiradeep Vittal 1e0eb04442 Add VPN apis, some systemvm changes for vpn 2010-11-01 10:27:49 -07:00
Kelven Yang 1c702a1d69 1) As the lack of dom0 scripting support in vmware hyperviors, domR, and other system VM will fall back to private network interface instead of link local interface, accordingly,
domR scripting will be running directly inside domR and be driven from management server instead of dom0 host
2) firewall/sshd setting changes for #1
2010-10-21 21:46:41 -07:00
Chiradeep Vittal 00722aea65 format conversion utilities 2010-10-21 12:25:30 -07:00
Chiradeep Vittal ee818c23e1 apache2 config -- listen interface based on type 2010-10-21 11:41:19 -07:00
Chiradeep Vittal ccd39e88f6 add xs-tools scripts 2010-10-21 11:41:18 -07:00
Chiradeep Vittal 580412fd2a add vpn, monit vmware tools, xenserver tools, refactor 2010-10-21 11:41:18 -07:00
Kelven Yang c5116b5e07 add and modify ipassoc.sh to domR, let it run within domR for vmware support 2010-10-21 10:41:41 -07:00
Kelven Yang 58cc90c10f 1) Modify domain router manager to support vmware
2) Add python and shell scripts for domr to support vmware
2010-10-20 18:49:18 -07:00
anthony 121d29211e update new keypair 2010-10-15 15:50:53 -07:00
Kelven Yang f6e0d2dd41 Make system VM work on vmware 2010-10-14 17:23:13 -07:00
edison 3028dab141 fix systemvm template in direct attached mode, guest vm can't get gateway and dns server 2010-10-07 16:32:46 -07:00
edison 139ff273ff fix systemvm template for kvm, using chiradeep's latest debian template 2010-10-05 20:41:39 -07:00
edison e67e7d0e7b remove patches/systemv, and mv tools/systemvm into patches 2010-10-05 20:41:39 -07:00
kishan 46677c9767 Bug 6175: clear rules when pub interface is remove 2010-09-17 12:24:51 +05:30
Alex Huang 7249f168d5 more file changes 2010-09-09 13:27:20 -07:00
Manuel Amador (Rudd-O) b0acdbcf8b Split out build responsibility into per-project wscript_build files. Installation of generic directories like bindir, and creation of systemvms, remain in toplevel wscript_build. Make some waf code useful and reusable in the form of tools. 2010-08-31 20:40:17 -07:00
anthony 56b33b578c bug 5944: add basical vhd file check
status 5994: resolved fixed
2010-08-31 19:44:18 -07:00
anthony b57d3e282d bug 6064: doesn't set GATEWAYDEV if eth2 is not set
status 6064: resolved fixed
2010-08-31 17:38:26 -07:00
anthony 8c806f6dad if domr serves as dhcpsrvr, consider it as type domr 2010-08-31 15:32:29 -07:00
anthony 7882d2ad59 if eth1 and eth2 in CP/SS VM are in same network, set default gateway on eth2, 2010-08-30 19:43:29 -07:00
Anthony Xu d72e0538da Revert "Revert "use iso to patch systemvm""
This reverts commit 145e2e0aaa.
2010-08-26 16:06:28 -07:00
Anthony Xu 145e2e0aaa Revert "use iso to patch systemvm"
This reverts commit 3565f8d21b.
2010-08-26 16:03:34 -07:00
root 3565f8d21b use iso to patch systemvm
Conflicts:

	core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
	scripts/vm/hypervisor/xenserver/xenserver56/patch
2010-08-26 15:56:02 -07:00
Manuel Amador (Rudd-O) 05c020e1f6 Source code committed 2010-08-11 09:13:29 -07:00