Commit Graph

192 Commits

Author SHA1 Message Date
alena 8a7feb8ec1 Merge branch '2.2.y'
Conflicts:
	agent/src/com/cloud/agent/resource/computing/LibvirtComputingResource.java
	api/src/com/cloud/agent/api/routing/LoadBalancerConfigCommand.java
	api/src/com/cloud/agent/api/to/FirewallRuleTO.java
	api/src/com/cloud/agent/api/to/IpAddressTO.java
	api/src/com/cloud/agent/api/to/PortForwardingRuleTO.java
	api/src/com/cloud/api/ApiConstants.java
	api/src/com/cloud/api/BaseCmd.java
	api/src/com/cloud/api/ResponseGenerator.java
	api/src/com/cloud/api/commands/CreateFirewallRuleCmd.java
	api/src/com/cloud/api/commands/CreateIpForwardingRuleCmd.java
	api/src/com/cloud/api/commands/CreateLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/CreatePortForwardingRuleCmd.java
	api/src/com/cloud/api/commands/DeleteLoadBalancerRuleCmd.java
	api/src/com/cloud/api/commands/ListCapabilitiesCmd.java
	api/src/com/cloud/api/commands/UpdateNetworkCmd.java
	api/src/com/cloud/api/response/CapabilitiesResponse.java
	api/src/com/cloud/network/Network.java
	api/src/com/cloud/network/NetworkService.java
	api/src/com/cloud/network/firewall/FirewallService.java
	api/src/com/cloud/network/lb/LoadBalancingRule.java
	api/src/com/cloud/network/lb/LoadBalancingRulesService.java
	api/src/com/cloud/network/rules/FirewallRule.java
	api/src/com/cloud/network/rules/RulesService.java
	api/src/com/cloud/offering/NetworkOffering.java
	client/tomcatconf/commands.properties.in
	cloud.spec
	core/src/com/cloud/agent/resource/virtualnetwork/VirtualRoutingResource.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixHelper.java
	core/src/com/cloud/hypervisor/xen/resource/CitrixResourceBase.java
	core/src/com/cloud/storage/template/DownloadManagerImpl.java
	core/src/com/cloud/vm/DomainRouterVO.java
	debian/cloud-deps.install
	patches/systemvm/debian/config/etc/init.d/cloud-early-config
	patches/systemvm/debian/config/root/ipassoc.sh
	patches/systemvm/debian/config/root/loadbalancer.sh
	scripts/vm/hypervisor/kvm/rundomrpre.sh
	scripts/vm/hypervisor/xenserver/vmops
	server/src/com/cloud/agent/manager/AgentAttache.java
	server/src/com/cloud/agent/manager/AgentManagerImpl.java
	server/src/com/cloud/agent/manager/AgentMonitor.java
	server/src/com/cloud/agent/manager/ClusteredAgentManagerImpl.java
	server/src/com/cloud/alert/ClusterAlertAdapter.java
	server/src/com/cloud/api/ApiResponseHelper.java
	server/src/com/cloud/api/ApiServer.java
	server/src/com/cloud/cluster/ClusterManagerImpl.java
	server/src/com/cloud/configuration/Config.java
	server/src/com/cloud/configuration/ConfigurationManager.java
	server/src/com/cloud/configuration/ConfigurationManagerImpl.java
	server/src/com/cloud/configuration/DefaultComponentLibrary.java
	server/src/com/cloud/deploy/FirstFitPlanner.java
	server/src/com/cloud/ha/HighAvailabilityManagerImpl.java
	server/src/com/cloud/host/dao/HostDaoImpl.java
	server/src/com/cloud/hypervisor/xen/discoverer/XcpServerDiscoverer.java
	server/src/com/cloud/network/LoadBalancerVO.java
	server/src/com/cloud/network/NetworkManager.java
	server/src/com/cloud/network/NetworkManagerImpl.java
	server/src/com/cloud/network/dao/FirewallRulesDao.java
	server/src/com/cloud/network/dao/FirewallRulesDaoImpl.java
	server/src/com/cloud/network/element/DhcpElement.java
	server/src/com/cloud/network/element/VirtualRouterElement.java
	server/src/com/cloud/network/firewall/FirewallManagerImpl.java
	server/src/com/cloud/network/lb/LoadBalancingRulesManagerImpl.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManager.java
	server/src/com/cloud/network/router/VirtualNetworkApplianceManagerImpl.java
	server/src/com/cloud/network/rules/FirewallManager.java
	server/src/com/cloud/network/rules/FirewallRuleVO.java
	server/src/com/cloud/network/rules/PortForwardingRuleVO.java
	server/src/com/cloud/network/rules/RulesManagerImpl.java
	server/src/com/cloud/network/rules/StaticNatRuleImpl.java
	server/src/com/cloud/network/security/SecurityGroupListener.java
	server/src/com/cloud/network/security/SecurityGroupManagerImpl.java
	server/src/com/cloud/offerings/NetworkOfferingVO.java
	server/src/com/cloud/server/ConfigurationServerImpl.java
	server/src/com/cloud/server/ManagementServerImpl.java
	server/src/com/cloud/storage/StorageManager.java
	server/src/com/cloud/storage/StorageManagerImpl.java
	server/src/com/cloud/storage/dao/VMTemplateHostDaoImpl.java
	server/src/com/cloud/storage/download/DownloadMonitorImpl.java
	server/src/com/cloud/upgrade/DatabaseUpgradeChecker.java
	server/src/com/cloud/upgrade/dao/Upgrade228to229.java
	server/src/com/cloud/upgrade/dao/Upgrade229to2210.java
	server/src/com/cloud/user/AccountManagerImpl.java
	server/src/com/cloud/vm/UserVmManagerImpl.java
	server/src/com/cloud/vm/VirtualMachineManagerImpl.java
	server/src/com/cloud/vm/dao/DomainRouterDao.java
	server/src/com/cloud/vm/dao/DomainRouterDaoImpl.java
	setup/db/create-index-fk.sql
	setup/db/create-schema.sql
	setup/db/db/schema-222to224.sql
	setup/db/db/schema-227to228.sql
	setup/db/db/schema-228to229.sql
	setup/db/db/schema-229to2210.sql
	tools/testClient/README
	ui/scripts/cloud.core.instance.js
	utils/src/com/cloud/utils/SerialVersionUID.java
	utils/src/com/cloud/utils/db/ConnectionConcierge.java
	utils/src/com/cloud/utils/db/Merovingian2.java
	utils/src/com/cloud/utils/db/Transaction.java
	utils/src/com/cloud/utils/nio/Link.java
	utils/src/com/cloud/utils/nio/NioConnection.java
	utils/src/com/cloud/utils/time/InaccurateClock.java
2011-08-22 20:28:30 -07:00
Sheng Yang 7ccc833114 Fix potential redundant router FAULT state by dnsmasq
This message may show during redundant router start up:

FAULT (Restarting DNS forwarder and DHCP server: dnsmasq failed!)

This caused by edithost.sh is racy with keepalived process. They both want to
restart dnsmasq.

Even in normal condition, it's very hard to reproduce this bug. Add file lock
for edithost.sh should solve it.
2011-08-19 16:11:48 -07:00
Sheng Yang d9b0188d7e Fix potential redundant router FAULT state by dnsmasq
This message may show during redundant router start up:

FAULT (Restarting DNS forwarder and DHCP server: dnsmasq failed!)

This caused by edithost.sh is racy with keepalived process. They both want to
restart dnsmasq.

Even in normal condition, it's very hard to reproduce this bug. Add file lock
for edithost.sh should solve it.
2011-08-19 16:11:33 -07:00
Naredula Janardhana Reddy b9183c0840 bug 10561: merging code from 2.2.10 to master 2011-08-16 14:20:51 +05:30
Chiradeep Vittal 779989ce6b bug 11103: create firewall chains on ipassoc
status 11103: resolved fixed
bug 11106: this is somehow fixed / cannot reproduced
status 11106: resolved fixed
2011-08-15 10:18:44 -07:00
Sheng Yang 29cc88571f Redundant router script fix, also fix CheckRouterTask 2011-08-11 17:57:12 -07:00
Sheng Yang 23e6b96c98 Redundant router script fix, also fix CheckRouterTask 2011-08-11 17:57:00 -07:00
Sheng Yang 258a1bc451 Ifdown may not bring interface down if ifup not run
Use ifconfig to bring it down
2011-08-11 15:01:02 -07:00
Sheng Yang a935e52b62 Ifdown may not bring interface down if ifup not run
Use ifconfig to bring it down
2011-08-11 15:00:43 -07:00
Chiradeep Vittal f91d173511 bug 10561: handle icmp (finally\!) 2011-08-11 14:36:41 -07:00
Sheng Yang 7807e29c30 Use ifup/ifdown for redundant router 2011-08-11 14:30:21 -07:00
Sheng Yang 95cc2d6381 Use ifup/ifdown for redundant router 2011-08-11 14:29:49 -07:00
Chiradeep Vittal 88a1c69413 bug 10561: get static nat working 2011-08-11 12:41:21 -07:00
Chiradeep Vittal d1ec7e759b remove cruft 2011-08-11 11:26:45 -07:00
Naredula Janardhana Reddy 7c2395e684 bug 10561: fix: last entry in the firewall rules unable to delete 2011-08-11 19:01:36 +05:30
Naredula Janardhana Reddy 699b197a3c bug 10561: changes to the create/delete firewall rule backend script:
1) changes to the return value
    2) added a FIXME to one the leak.
2011-08-11 16:53:18 +05:30
Chiradeep Vittal 35e67bbfdf bug 10561: ensure outgoing connections work 2011-08-10 23:16:04 -07:00
Chiradeep Vittal d29b01ca7f bug 10561: backend rules for firewall 2011-08-10 18:39:52 -07:00
Sheng Yang 9f6dc993ab Fix dhcp_entry.sh fail on redundant router
And don't worry about "chkconfig dnsmasq off", because keepalived script should
take care of it.
2011-08-10 17:13:45 -07:00
Sheng Yang 02049d4cd4 Fix dhcp_entry.sh fail on redundant router
And don't worry about "chkconfig dnsmasq off", because keepalived script should
take care of it.
2011-08-10 17:13:15 -07:00
Sheng Yang 5cf6feb2e5 Fix "RTNETLINK answers: No such process" when starting redundant router
The issue happened quite rare, but indeed can show.

And when the issue happen, the status of redundant router would be "Status:
FAULT".

It's due to ipassoc.sh wasn't executed before the system bring eth2 up and go to
master mode, then eth2 wasn't configured correctly. Then "ip route add default
xx" can't complete.

This commit should fixes the issue.
2011-08-10 12:06:53 -07:00
Naredula Janardhana Reddy a9eb14c42e bug 10561: backend added for CreateFirewallRule and deleteFirewallRule 2011-08-10 17:06:42 +05:30
Sheng Yang 738a9b3ad0 Fix "RTNETLINK answers: No such process" when starting redundant router
The issue happened quite rare, but indeed can show.

And when the issue happen, the status of redundant router would be "Status:
FAULT".

It's due to ipassoc.sh wasn't executed before the system bring eth2 up and go to
master mode, then eth2 wasn't configured correctly. Then "ip route add default
xx" can't complete.

This commit should fixes the issue.
2011-08-09 22:25:06 -07:00
alena 56d5054e39 Revert "bug 10561: Allowing ICMP traffic through static NAT"
This reverts commit 5e74e24bb359456967866cb2c6cc0f6f73570f97.

Conflicts:

	server/src/com/cloud/network/rules/RulesManagerImpl.java
2011-08-09 15:51:57 -07:00
Sheng Yang 071a67dcb8 Change router to FAULT state if anything goes wrong on fail-over 2011-08-09 11:09:44 -07:00
Sheng Yang 980c4b9120 Change router to FAULT state if anything goes wrong on fail-over 2011-08-09 11:09:20 -07:00
Naredula Janardhana Reddy 536db8a1de loadbalancer.sh changes : 1) Removed source cidrs from iptable script,2) added sudo before iptables 2011-08-09 18:34:16 +05:30
Naredula Janardhana Reddy ad29587e43 bug 10800,10557 :
Cahnges:
        1) putting back the changes(bug 10800 and 10557) that had been reverted during merging of Elb/nectarine.
        2) 10800 Upgrade from previous release also added: Upgrade from Previous release will leave iptable rules in the INPUT ipchain, this is fixed.
2011-08-09 16:53:19 +05:30
Chiradeep Vittal 179368ea32 get lb working on advanced mode again 2011-08-09 01:02:58 -07:00
Naredula Janardhana Reddy 12cadca538 Revert "bug 10561: Allowing ICMP traffic through static NAT"
This reverts commit 5e74e24bb359456967866cb2c6cc0f6f73570f97.
2011-08-08 17:59:05 -07:00
Chiradeep Vittal 8277584b8a merge ELB / nectarine branch 2011-08-08 15:20:56 -07:00
Sheng Yang 9985df928b Try to workaround "ip route add" fail in redundant router
It's probably due to the network is not ready, so wait some time for it.
2011-08-05 16:40:57 -07:00
Sheng Yang 49709d716a Try to workaround "ip route add" fail in redundant router
It's probably due to the network is not ready, so wait some time for it.
2011-08-05 16:40:35 -07:00
Chiradeep Vittal 0c408d8da5 handle elb vm restart 2011-08-04 22:05:48 -07:00
Naredula Janardhana Reddy 46427fef91 bug 10561: Allowing ICMP traffic through static NAT 2011-08-03 21:15:02 +05:30
Naredula Janardhana Reddy 954d8673c7 bug 10561: Allowing ICMP traffic through static NAT 2011-08-03 18:13:09 +05:30
Naredula Janardhana Reddy 15d57cef9f bug 10557: implemented the TODO - opening the stats port using iptable 2011-07-28 17:28:20 +05:30
Naredula Janardhana Reddy d79633b545 bug 10800: iptable rable restore upon failure is changed 2011-07-28 17:27:44 +05:30
Naredula Janardhana Reddy 2fc7be14de bug 10557: implemented the TODO - opening the stats port using iptable 2011-07-28 17:24:10 +05:30
Naredula Janardhana Reddy e19c51e68c bug 10800: iptable rable restore upon failure is changed 2011-07-28 13:43:07 +05:30
Chiradeep Vittal f27116c50e log haproxy changes to system log and auth 2011-07-27 12:00:08 -07:00
Chiradeep Vittal 07c2f6cdc7 differentiate between dhcp server and elb vm 2011-07-27 12:00:07 -07:00
Naredula Janardhana Reddy 296d0af503 bug 10800: Load balancer - deleted settings from UI not removed from the Iptables 2011-07-27 14:57:49 +05:30
Kelven Yang 9761661989 bug 10855: fix a typo when merging git conflicts 2011-07-26 10:50:33 -07:00
Kelven Yang db29f7792c bug 10855: the issue is caused by expanding content that has space inside at sub-shell, use back quote substitution to enforce the correct shell macro expansion 2011-07-26 10:50:10 -07:00
Kelven Yang 3e8fb4add2 bug 10855: fix a typo when merging git conflicts 2011-07-26 10:48:54 -07:00
Kelven Yang db09c6ae47 bug 10855: the issue is caused by expanding content that has space inside at sub-shell, use back quote substitution to enforce the correct shell macro expansion 2011-07-26 10:41:26 -07:00
Naredula Janardhana Reddy 67dc2ec915 bug 10800: Load balancer - deleted settings from UI not removed from the Iptables 2011-07-26 15:28:01 +05:30
Edison Su 30942b77a3 fix meta data returning 404 issue on vmware 2011-07-25 21:20:09 -07:00
Edison Su 3a17b37808 fix meta data returning 404 issue on vmware 2011-07-25 21:17:42 -07:00
Abhinandan Prateek dff712f2a9 bug 10731: sending source cidrs to the required router element, on domR allowing these source cidrs thru iptables
status 10731: resolved fixed
2011-07-21 13:48:42 +05:30
Abhinandan Prateek de34d6089d bug 10731: sending source cidrs to the required router element, on domR allowing these source cidrs thru iptables
status 10731: resolved fixed
2011-07-21 13:40:06 +05:30
Sheng Yang 4bc8686513 bug 10429: Backport redundant virtual router
Part 1

This backport contained:

commit 52317c718c25111c2535657139b541db0c9d1e1f
    bug 9154: Initial check in for enabling redundant virtual router

commit 54199112055d754371bfb141168fb5538bf6d6ea
    Add host verification for CheckRouterCommand

commit cef978a228c90056ead9be10cbc4de74c2b8de76
    Fix CheckRouterAnswer's isMaster report

commit 4072f0a6991ac3b63601a1764fbe14188965f62f
    Some build fixes and code refactoring for redundant router

commit 4d3350b7cd8ee2706a9bace4437fc194e36c8dd5
    Redundant Router: Fix OVS

commit 6a228830e7c46d819fa0c3317e159e041337e887
    Fix findByNetwork()/findByNetworkAndPod()'s return

commit c627777b3d5bdbcd60db4032cebd349a5b1ecd83
    Redundant Router: Fix isVmAlive()

commit e1275d2514adc41f8744f5107d4069c38be195f1
    Only issue CheckRouterCommand to redundant routers

And all modification to the scripts till
commit 4e3942462ed3fde3a3d7011e95839e2128fba514
logging changes

in the master branch.
2011-07-18 18:29:56 -07:00
Edison Su a622b48d32 It breaks port forwording.
Revert "bug 10329: changed - t :"

This reverts commit 16779afa0233e6ff33cdfca12611e6a43bcd0b42.
2011-07-08 13:52:49 -07:00
Edison Su 399c1addb9 fix meta issue for vmware: create a blank meta data file, even meta data is empty 2011-07-08 13:51:30 -07:00
Edison Su a3613f2762 It breaks port forwording.
Revert "bug 10329: changed - t :"

This reverts commit 16779afa0233e6ff33cdfca12611e6a43bcd0b42.
2011-07-07 18:30:42 -07:00
Abhinandan Prateek 73b79deb99 bug 10329: changed - t :
status 10329: resolved fixed
2011-07-07 11:52:04 +05:30
Abhinandan Prateek 6b7279598e bug 10329: changing - to : in port range
status 10329: resolved fixed
2011-07-07 11:46:17 +05:30
Edison Su 28f413f223 fix meta issue for vmware: create a blank meta data file, even meta data is empty 2011-07-05 16:19:23 -07:00
Sheng Yang dc46ffb0c7 bug 9154: various fix for scripts 2011-06-22 15:30:39 -07:00
Sheng Yang bbb0f41a92 Fix ipassoc.sh with new added nic
The script should bring the new created interface up.
2011-06-20 17:21:32 -07:00
Sheng Yang d71ed00148 bug 9154: Add more log in keepalived.log 2011-06-15 15:39:48 -07:00
Kelven Yang dae72c26b0 bug 10093: always create .htaccess in DomR 2011-06-08 16:56:41 -07:00
Sheng Yang 5db86e6c20 Fix CheckRouterAnswer's isMaster report
If we got invalid/unsuccessed answer from CheckRouterAnswer, set master to
false.

Also add missed scripts.
2011-06-07 14:47:46 -07:00
Sheng Yang 819e67b189 Add file lock for keepalived scripts
They are not blocked callings.
2011-06-07 14:47:46 -07:00
Sheng Yang 2973ab5ef5 Enable multiply public ips for redundant router
Also solve duplicate mac issue.
2011-06-07 14:47:46 -07:00
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
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 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
Kelven Yang 342648244d bug 8994: fix issues in userdata.py to support user_data in vmware 2011-03-23 13:34:40 -07: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
Chiradeep Vittal 757bd0b5e4 bug 8254: point save password to right location 2011-01-28 16:01:52 -08:00
Kelven Yang 6fe42d144f remove escapes in awk scripts when it is running inside domR 2011-01-13 14:28:06 -08:00
Kelven Yang 55f28c3a2b Network Usage for vmware 2011-01-13 11:24:15 -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
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
Chiradeep Vittal de49fbad6f 1-1-NAT feature broke regular NAT, fixing 2010-11-18 14:05:03 -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 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
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
edison e67e7d0e7b remove patches/systemv, and mv tools/systemvm into patches 2010-10-05 20:41:39 -07:00