[
https://issues.apache.org/jira/browse/AMBARI-23827?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16471943#comment-16471943
]
Tim Thorpe commented on AMBARI-23827:
-------------------------------------
Please note, you *do not* need to install the stack or the service(s) in the
extension version.
You need to have 2 different versions of the same extension and follow the
steps listed in the description above.
> 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
> Priority: Major
>
> 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 - just the extension definitions with
> their service definitions
> * 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" : [
>
> Unknown macro: \{ "href" }
> ]
> }
> *
> ## 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" : [
>
> Unknown macro: \{ "href" }
> ]
> }
> # *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
> >> Extension link is still listed as IBM-Big_SQL 5.0.2.0.{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",*
> *"extension_version" : "5.0.2.0",*
> *"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)