Tim Thorpe created AMBARI-23827:
-----------------------------------
Summary: Update extension link doesn't persist to the Ambari DB
Key: AMBARI-23827
URL: https://issues.apache.org/jira/browse/AMBARI-23827
Project: Ambari
Issue Type: Bug
Components: ambari-server
Affects Versions: 2.6.0, 2.7.0
Reporter: Tim Thorpe
Update extension link doesn't persist to the Ambari DB. The REST API will
return the proper results but the DB won't be altered. This results in the
extension link reverting to the previous extension after an Ambari server
restart.
Here are the reproduction steps:
* Install ambari-server
* Install 2 versions of an extension
* Restart ambari-server
* Link the 1st version of the extension
* Update the extension link to the 2nd version of the extension
* Verify the Ambari DB
* Restart ambari-server
* Verify the list of links via the REST API (post restart)
*# Link the 1st version*
[root@node1 ~]# curl -u admin:admin -H 'X-Requested-By: ambari' *-X POST* -d
'{"ExtensionLink": {"stack_name": "HDP", "stack_version": "2.5",
"extension_name": "IBM-Big_SQL", *"extension_version": "5.0.2.0"*}}'
http://node1.fyre.ibm.com:8080/api/v1/links/
*# Verify the extension link created*
[root@node1 ~]# curl -u admin:admin -H 'X-Requested-By: ambari' -X GET
http://node1.fyre.ibm.com:8080/api/v1/links/
{
"href" : "http://node1.fyre.ibm.com:8080/api/v1/links/",
"items" : [
{
"href" : "http://node1.fyre.ibm.com:8080/api/v1/links/1",
"ExtensionLink" : {
*"extension_name" : "IBM-Big_SQL",*
*"extension_version" : "5.0.2.0",*
*"link_id" : 1,*
"stack_name" : "HDP",
"stack_version" : "2.5"
}
}
]
}
*# Update the link to the 2nd extension version*
[root@node1 ~]# curl -u admin:admin -H 'X-Requested-By: ambari' *-X PUT* -d
'{"ExtensionLink": {"stack_name": "HDP", "stack_version": "2.5",
"extension_name": "IBM-Big_SQL", *"extension_version": "5.0.3.0"*}}'
http://node1.fyre.ibm.com:8080/api/v1/links/1
*# Verify the extension link is updated*
[root@node1 ~]# curl -u admin:admin -H 'X-Requested-By: ambari' -X GET
http://node1.fyre.ibm.com:8080/api/v1/links/
{
"href" : "http://node1.fyre.ibm.com:8080/api/v1/links/",
"items" : [
{
"href" : "http://node1.fyre.ibm.com:8080/api/v1/links/1",
"ExtensionLink" : {
*"extension_name" : "IBM-Big_SQL",*
*"extension_version" : "5.0.3.0",*
*"link_id" : 1,*
"stack_name" : "HDP",
"stack_version" : "2.5"
}
}
]
}
# *Verify the Ambari DB*
ambari=> select * from stack where stack_version = '2.5';
stack_id | stack_name | stack_version
----------+------------+-----------------
6 | HDP | 2.5
ambari=> select * from extension;
extension_id | extension_name | extension_version
--------------+----------------+-------------------
1 | IBM-Big_SQL | 5.0.3.0
*2 | IBM-Big_SQL | 5.0.2.0*
*ambari=> select * from extensionlink;*
*link_id | stack_id | {color:#FF0000}extension_id{color}*
*---------+----------+--------------*
*1 | 6 | {color:#FF0000} 2
{color:#333333}>> Extension link is still listed as IBM-Big_SQL 5.0.2.0.{color}
{color}*
*# Verify the extension link after ambari-server restart*
[root@node1 ~]# curl -u admin:admin -H 'X-Requested-By: ambari' -X GET
http://node1.fyre.ibm.com:8080/api/v1/links/
{
"href" : "http://node1.fyre.ibm.com:8080/api/v1/links/",
"items" : [
{
"href" : "http://node1.fyre.ibm.com:8080/api/v1/links/1",
"ExtensionLink" : {
*"extension_name" : "IBM-Big_SQL",*
{color:#FF0000} *"extension_version" : "5.0.2.0",*{color}
*"link_id" : 1,*
"stack_name" : "HDP",
"stack_version" : "2.5"
}
}
]
}
*>> Extension link is back to IBM-Big_SQL 5.0.2.0 via REST API.*
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)