I've found out that in Solr 4.1, when using the zkHost attribute of the solr tag in solr.xml, instead of the -DzkHost command line option, SolrCloud works perfectly but the cloud option in the admin UI doesn't appear.
Bug seems to be on app.js file in lines 316-322 in Solr 4.1 (406-412 in current trunk) when the UI tries to guess if SolrCloud is enabled. Not sure about the correct way of detecting if cloud is active but the current implementation is inconsistent with the funtionality available in solr.xml to provide the list of zkHosts.
Afected snippet from app.js:
if( response.jvm && response.jvm.jmx && response.jvm.jmx.commandLineArgs )
var command_line_args = response.jvm.jmx.commandLineArgs.join( ' | ' );
environment_args = command_line_args.match( /-Dsolr.environment=((dev|test|prod)?[\w\d]*)/i );
cloud_args = command_line_args.match( /-Dzk/i );
How to reproduce
In a Solr ensemble using zookeeper, start up a node specifing the list of hosts in the zkHost attribute of the solr tag of solr.xml file and do not provide the -DzkHost atribute.
The cloud option is not available on the admin UI for that node. Though the node is registered correctly as client in the zk ensemble and is working as expected. In fact if you directly access the 'htt://host:port/solr/#/~cloud' url the cloud info is shown, but the option is still hidden.
When accesing the solr admin UI of the node the cloud menu option should be visible.