cloudstack-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wei Zhou (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-1088) EnableStaticNat error will clear the data in database
Date Wed, 30 Jan 2013 10:05:12 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-1088?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13566337#comment-13566337
] 

Wei Zhou commented on CLOUDSTACK-1088:
--------------------------------------

when I run API call command=enableStaticNat&ipaddressid=73&virtualmachineid=67&response=json,
  I check the data in cloud.user_ip_address table, 

(1) the first time, return "success" .   in database
+----+--------------------------------------+------------+-----------+-------------------+----------------+------------+---------------------+------------+----------------+-------+-----------+-------------+-------------------+------------+---------------------+-----------+--------+
| id | uuid                                 | account_id | domain_id | public_ip_address |
data_center_id | source_nat | allocated           | vlan_db_id | one_to_one_nat | vm_id |
state     | mac_address | source_network_id | network_id | physical_network_id | is_system
| vpc_id |
+----+--------------------------------------+------------+-----------+-------------------+----------------+------------+---------------------+------------+----------------+-------+-----------+-------------+-------------------+------------+---------------------+-----------+--------+
| 73 | cfb98e93-bffb-4d08-8edc-1d9c086a4ec0 |          2 |         1 | 10.11.101.172     |
             1 |          0 | 2013-01-16 17:18:56 |          1 |              1 |    67 |
Allocated |          84 |               200 |        221 |                 200 |         0
|   NULL |

(2) the second time. return "Failed to enable static nat for the ip address id=73 as vm id=67
is already associated with ip id=73".   in database
+----+--------------------------------------+------------+-----------+-------------------+----------------+------------+---------------------+------------+----------------+-------+-----------+-------------+-------------------+------------+---------------------+-----------+--------+
| id | uuid                                 | account_id | domain_id | public_ip_address |
data_center_id | source_nat | allocated           | vlan_db_id | one_to_one_nat | vm_id |
state     | mac_address | source_network_id | network_id | physical_network_id | is_system
| vpc_id |
+----+--------------------------------------+------------+-----------+-------------------+----------------+------------+---------------------+------------+----------------+-------+-----------+-------------+-------------------+------------+---------------------+-----------+--------+
| 73 | cfb98e93-bffb-4d08-8edc-1d9c086a4ec0 |          2 |         1 | 10.11.101.172     |
             1 |          0 | 2013-01-16 17:18:56 |          1 |              0 |  NULL |
Allocated |          84 |               200 |        221 |                 200 |         0
|   NULL |


In com.cloud.network.rules.RulesManagerImpl.enableStaticNat(long, long, long, boolean), 
       try { ......
        } finally {
            if (!result) {
                ipAddress.setOneToOneNat(false);
                ipAddress.setAssociatedWithVmId(null);
                _ipAddressDao.update(ipAddress.getId(), ipAddress);  

we can see that the user_ip_address(one_to_one_nat , vm_id) will set to (0,null) when the
operation failed. This can explain the errors in Description.

                
> EnableStaticNat error will clear the data in database
> -----------------------------------------------------
>
>                 Key: CLOUDSTACK-1088
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-1088
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>    Affects Versions: 4.0.0
>            Reporter: Wei Zhou
>
> The issue occur in two conditions
> (1) If I use two sessions or browsers to EnableStaticNat on CloudStack UI. one is successful,
the other is failed. However, there is no ip in database.
> (2) If I use API call EnableStaticNat several times The first time succeed, the second
failed, the third succeed. the result is success-fail-success-fail-success-fail, which it
is not correct.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message