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

ASF GitHub Bot commented on METRON-1389:
----------------------------------------

Github user cestella commented on a diff in the pull request:

    https://github.com/apache/metron/pull/888#discussion_r161239480
  
    --- Diff: 
metron-deployment/packaging/ambari/metron-mpack/src/main/resources/common-services/METRON/CURRENT/package/scripts/indexing_master.py
 ---
    @@ -150,12 +151,36 @@ def zeppelin_notebook_import(self, env):
             env.set_params(params)
     
             Logger.info(ambari_format('Searching for Zeppelin Notebooks in 
{metron_config_zeppelin_path}'))
    +
    +        # With Ambari 2.5+, Zeppelin server is enabled to work with Shiro 
authentication, which requires user/password
    +        # for authentication (see 
https://zeppelin.apache.org/docs/0.6.0/security/shiroauthentication.html for 
details).
    +        ses = requests.session()
    +
    +        # Check if authentication is enabled on the Zeppelin server
    +        try:
    +            conn = 
ses.get(ambari_format('http://{zeppelin_server_url}/api/login'))
    +
    +            # Establish connection if authentication is enabled
    +            try:
    +                # The following credentials are created at install time by 
Ambari at /etc/zeppelin/conf/shiro.ini
    +                # when Shiro auth is enabled on the Zeppelin server
    +                zeppelin_payload = {'userName': 'admin', 'password' : 
'admin'}
    --- End diff --
    
    so, I wonder if we should add a configuration parameter for zeppelin 
user/pass.  If people change the default user/pass of zeppelin, this won't 
work, I think.  The other option is whether or not there is an existing config 
in ambari where this is held (maybe not though).  Beyond that, we could always 
parse the shiro.ini (even as simple as a little python snippet like:
    ```
    with open('/etc/zeppelin/conf/shiro.ini', 'r') as f:
      seen_users = False
      for line in f:
        if '[users]' in line:
          seen_users = True
        if seen_users and 'admin = ' in line:
          tokens = line.strip().split(',')
          username = tokens[0].split(' ')[-1].strip()
          password = tokens[1].strip()
          print "username: {}, password: {}".format(username, password)
          break
    ```
    
    I am just a bit concerned at having this go in as it is given this 
assumption, but I could probably be talked into it by another committer.


> Zeppelin notebook import does not work with Ambari 2.6
> ------------------------------------------------------
>
>                 Key: METRON-1389
>                 URL: https://issues.apache.org/jira/browse/METRON-1389
>             Project: Metron
>          Issue Type: Bug
>    Affects Versions: 0.4.2
>            Reporter: Anand Subramanian
>            Assignee: Anand Subramanian
>             Fix For: Next + 1
>
>
> This issue is seen with Ambari 2.6.0.0.
> Doing 'Metron -> Service Actions -> Zeppelin Notebook Import' shows that the 
> notebooks have been imported, but when I go to the Zeppelin dashboard, I 
> cannot find any of the notebooks.
> In recent versions of Ambari, [Shiro 
> Authentication|https://zeppelin.apache.org/docs/0.6.0/security/shiroauthentication.html]
>  is enabled which requires a user/password authentication in order to 
> interact with Zeppelin. We need to incorporate this in order to be able to 
> import metron Zeppelin notebooks.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to