You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ambari.apache.org by "Aleksandr Kovalenko (JIRA)" <ji...@apache.org> on 2015/07/07 12:47:07 UTC

[jira] [Created] (AMBARI-12309) Kerberos: After partitially enabling manual kerb, start all fails

Aleksandr Kovalenko created AMBARI-12309:
--------------------------------------------

             Summary: Kerberos: After partitially enabling manual kerb, start all fails
                 Key: AMBARI-12309
                 URL: https://issues.apache.org/jira/browse/AMBARI-12309
             Project: Ambari
          Issue Type: Bug
          Components: ambari-web
    Affects Versions: 2.1.0
            Reporter: Aleksandr Kovalenko
            Assignee: Aleksandr Kovalenko
            Priority: Critical
             Fix For: 2.1.0


Since the manual kerb option requires users to run the wizard, get the csv, and potentially (likely) exit and return once their kerb infra is ready, this is a situation users will run into...

1) start kerb wizard, choose manual option
2) get to page with csv, download, exit wizard
3) even though kerb is not enabled, kerberos service has now been added to the cluster but with 0 clients install (see attached screen shot).
4) if i attempt to do bulk start commands (for example), things fail silently...for example: i went "Start All" from the Actions menu and nothing happened. went to firebug and see the API command had failed with a 500.


{code}
PUT
http://c6404.ambari.apache.org:8080/api/v1/clusters/MyCluster/services?
{"RequestInfo":{"context":"_PARSE_.START.ALL_SERVICES","operation_level":{"level":"CLUSTER","cluster_name"
:"MyCluster"}},"Body":{"ServiceInfo":{"state":"STARTED"}}}
{code}

The response:

{code}
{
  "status" : 500,
  "message" : "org.apache.ambari.server.controller.spi.SystemException: An internal system exception
 occurred: Invalid transition for service, clusterName=MyCluster, clusterId=2, serviceName=KERBEROS,
 currentDesiredState=INIT, newDesiredState=STARTED"
}
{code}


*Cause*
When transitioning from the _Configure Kerberos_ page to the _Configure Identities_ (Skipping the _Install and Test Kerberos Client_ page), the KERBEROS service is added to the cluster and the KERBEROS_CLIENT component  is added to each host. The service and components are the INIT state at this point. After proceeding to the _Confirm Configuration_ page and then exiting, the KERBEROS service is not cleaned up, leaving it and it's components in the INIT state. 


*Side-effect*
The user sees that the Kerberos service in the list of installed services even though the Kerberization process was not completed
{code:title=GET /api/v1/clusters/40438/services/KERBEROS}
{
  "href" : "http://104.196.82.205:8080/api/v1/clusters/40438/services/KERBEROS",
  "ServiceInfo" : {
    "cluster_name" : "40438",
    "maintenance_state" : "OFF",
    "service_name" : "KERBEROS",
    "state" : "INIT"
  },
  "Services" : {
    "attributes" : {
      "kdc_validation_failure_details" : "",
      "kdc_validation_result" : "OK"
    }
  },
  "alerts_summary" : {
    "CRITICAL" : 0,
    "MAINTENANCE" : 0,
    "OK" : 0,
    "UNKNOWN" : 0,
    "WARNING" : 0
  },
  "alerts" : [ ],
  "components" : [
    {
      "href" : "http://104.196.82.205:8080/api/v1/clusters/40438/services/KERBEROS/components/KERBEROS_CLIENT",
      "ServiceComponentInfo" : {
        "cluster_name" : "40438",
        "component_name" : "KERBEROS_CLIENT",
        "service_name" : "KERBEROS"
      }
    }
  ],
  "artifacts" : [ ]
}
{code}
{code:title=GET /api/v1/clusters/40438/services/KERBEROS/components/KERBEROS_CLIENT}
{
  "href" : "http://104.196.82.205:8080/api/v1/clusters/40438/services/KERBEROS/components/KERBEROS_CLIENT",
  "ServiceComponentInfo" : {
    "category" : "CLIENT",
    "cluster_name" : "40438",
    "component_name" : "KERBEROS_CLIENT",
    "installed_count" : 0,
    "service_name" : "KERBEROS",
    "started_count" : 0,
    "state" : "INIT",
    "total_count" : 2
  },
  "host_components" : [
    {
      "href" : "http://104.196.82.205:8080/api/v1/clusters/40438/hosts/levas-40438-1.c.pramod-thangali.internal/host_components/KERBEROS_CLIENT",
      "HostRoles" : {
        "cluster_name" : "40438",
        "component_name" : "KERBEROS_CLIENT",
        "host_name" : "levas-40438-1.c.pramod-thangali.internal"
      }
    },
    {
      "href" : "http://104.196.82.205:8080/api/v1/clusters/40438/hosts/levas-40438-2.c.pramod-thangali.internal/host_components/KERBEROS_CLIENT",
      "HostRoles" : {
        "cluster_name" : "40438",
        "component_name" : "KERBEROS_CLIENT",
        "host_name" : "levas-40438-2.c.pramod-thangali.internal"
      }
    }
  ]
}
{code}

 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)