diff --git a/client/tomcatconf/components.xml.in b/client/tomcatconf/components.xml.in
index 0f9f44cd2df..3119a71cda9 100755
--- a/client/tomcatconf/components.xml.in
+++ b/client/tomcatconf/components.xml.in
@@ -115,6 +115,7 @@
+
diff --git a/core/src/com/cloud/network/dao/VpnUserDaoImpl.java b/core/src/com/cloud/network/dao/VpnUserDaoImpl.java
index e1129ce6a7b..52fd4ee4a35 100644
--- a/core/src/com/cloud/network/dao/VpnUserDaoImpl.java
+++ b/core/src/com/cloud/network/dao/VpnUserDaoImpl.java
@@ -22,16 +22,13 @@ import java.util.List;
import javax.ejb.Local;
-import org.apache.log4j.Logger;
-
import com.cloud.network.VpnUserVO;
import com.cloud.utils.db.GenericDaoBase;
import com.cloud.utils.db.SearchBuilder;
import com.cloud.utils.db.SearchCriteria;
-@Local(value={RemoteAccessVpnDao.class})
+@Local(value={VpnUserDao.class})
public class VpnUserDaoImpl extends GenericDaoBase implements VpnUserDao {
- private static final Logger s_logger = Logger.getLogger(VpnUserDaoImpl.class);
private final SearchBuilder AccountSearch;
private final SearchBuilder AccountNameSearch;
diff --git a/setup/db/create-index-fk.sql b/setup/db/create-index-fk.sql
index 1898a47a098..fa5dd50dce9 100755
--- a/setup/db/create-index-fk.sql
+++ b/setup/db/create-index-fk.sql
@@ -262,6 +262,7 @@ ALTER TABLE `cloud`.`instance_group_vm_map` ADD CONSTRAINT `fk_instance_group_vm
ALTER TABLE `cloud`.`remote_access_vpn` ADD CONSTRAINT `fk_remote_access_vpn___account_id` FOREIGN KEY `fk_remote_access_vpn__account_id` (`account_id`) REFERENCES `account` (`id`) ON DELETE CASCADE;
ALTER TABLE `cloud`.`remote_access_vpn` ADD CONSTRAINT `fk_remote_access_vpn__zone_id` FOREIGN KEY `fk_remote_access_vpn__zone_id` (`zone_id`) REFERENCES `data_center` (`id`);
+ALTER TABLE `cloud`.`remote_access_vpn` ADD CONSTRAINT `fk_remote_access_vpn__server_addr` FOREIGN KEY `fk_remote_access_vpn__server_addr` (`vpn_server_addr`) REFERENCES `user_ip_address` (`public_ip_address`);
ALTER TABLE `cloud`.`remote_access_vpn` ADD INDEX `i_remote_access_vpn_addr`(`vpn_server_addr`);
ALTER TABLE `cloud`.`vpn_users` ADD CONSTRAINT `fk_vpn_users___account_id` FOREIGN KEY `fk_vpn_users__account_id` (`account_id`) REFERENCES `account` (`id`) ON DELETE CASCADE;
diff --git a/setup/db/index-21to22.sql b/setup/db/index-21to22.sql
index ebc4b8477d4..8d276e27730 100644
--- a/setup/db/index-21to22.sql
+++ b/setup/db/index-21to22.sql
@@ -2,3 +2,12 @@ ALTER TABLE `cloud`.`instance_group` ADD CONSTRAINT `fk_instance_group__account_
ALTER TABLE `cloud`.`instance_group_vm_map` ADD CONSTRAINT `fk_instance_group_vm_map___group_id` FOREIGN KEY `fk_instance_group_vm_map___group_id` (`group_id`) REFERENCES `instance_group` (`id`) ON DELETE CASCADE;
ALTER TABLE `cloud`.`instance_group_vm_map` ADD CONSTRAINT `fk_instance_group_vm_map___instance_id` FOREIGN KEY `fk_instance_group_vm_map___instance_id` (`instance_id`) REFERENCES `user_vm` (`id`) ON DELETE CASCADE;
+
+ALTER TABLE `cloud`.`remote_access_vpn` ADD CONSTRAINT `fk_remote_access_vpn___account_id` FOREIGN KEY `fk_remote_access_vpn__account_id` (`account_id`) REFERENCES `account` (`id`) ON DELETE CASCADE;
+ALTER TABLE `cloud`.`remote_access_vpn` ADD CONSTRAINT `fk_remote_access_vpn__zone_id` FOREIGN KEY `fk_remote_access_vpn__zone_id` (`zone_id`) REFERENCES `data_center` (`id`);
+ALTER TABLE `cloud`.`remote_access_vpn` ADD CONSTRAINT `fk_remote_access_vpn__server_addr` FOREIGN KEY `fk_remote_access_vpn__server_addr` (`vpn_server_addr`) REFERENCES `user_ip_address` (`public_ip_address`);
+ALTER TABLE `cloud`.`remote_access_vpn` ADD INDEX `i_remote_access_vpn_addr`(`vpn_server_addr`);
+
+ALTER TABLE `cloud`.`vpn_users` ADD CONSTRAINT `fk_vpn_users___account_id` FOREIGN KEY `fk_vpn_users__account_id` (`account_id`) REFERENCES `account` (`id`) ON DELETE CASCADE;
+ALTER TABLE `cloud`.`vpn_users` ADD INDEX `i_vpn_users_username`(`username`);
+ALTER TABLE `cloud`.`vpn_users` ADD UNIQUE `i_vpn_users__account_id__username`(`account_id`, `username`);
diff --git a/setup/db/schema-21to22.sql b/setup/db/schema-21to22.sql
index 90ebe3ec441..e13892e390c 100644
--- a/setup/db/schema-21to22.sql
+++ b/setup/db/schema-21to22.sql
@@ -25,6 +25,25 @@ CREATE TABLE `cloud`.`certificate` (
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+CREATE TABLE `cloud`.`remote_access_vpn` (
+ `id` bigint unsigned NOT NULL auto_increment,
+ `account_id` bigint unsigned NOT NULL,
+ `zone_id` bigint unsigned NOT NULL,
+ `vpn_server_addr` varchar(15) UNIQUE NOT NULL,
+ `local_ip` varchar(15) NOT NULL,
+ `ip_range` varchar(32) NOT NULL,
+ `ipsec_psk` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `cloud`.`vpn_users` (
+ `id` bigint unsigned NOT NULL auto_increment,
+ `account_id` bigint unsigned NOT NULL,
+ `username` varchar(255) NOT NULL,
+ `password` varchar(255) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
ALTER TABLE `cloud`.`data_center` MODIFY COLUMN `guest_network_cidr` varchar(18); -- modify column width to 18 from 15
ALTER TABLE `cloud`.`resource_count` ADD COLUMN `domain_id` bigint unsigned; -- add the new column