software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeSshDriver.java (10 lines): - line 60: // TODO: Alter -env ERL_CRASH_DUMP path in vm.args - line 153: // TODO osDetails.getName() is returning "linux", instead of debian/ubuntu on AWS with jenkins image, - line 155: // TODO Debian support (default debian image fails with 'sudo: command not found') - line 260: //TODO: detect the actual limit then do the modification. - line 261: //TODO: modify ulimit for linux distros - line 271: // TODO platform_*_dir - line 272: // TODO riak config log - line 387: // TODO find a way to batch commit the changes, instead of committing for every operation. - line 524: //TODO find ways to detect a faulty/failed node - line 583: //TODO: check for non-package install. software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java (8 lines): - line 80: * TODO Seed management is hard! - line 92: // TODO is this very dangerous?! Calling out to SeedTracker, which calls out to alien getAttribute()/getConfig(). But I think that's ok. - line 93: // TODO might not need mutex? previous race was being caused by something else, other than concurrent calls! - line 116: // TODO Could be race where nodes have only just returned from start() and are about to - line 307: // TODO Delete in future version; was deprecated in 0.7.0; deleted config key in 0.9.0 - line 351: // TODO wait until all nodes which we think are up are consistent - line 595: // TODO would be good to reuse the better logic in ServiceFailureDetector - line 621: // FIXME cross-etntity method-style calls such as below do not set up a queueing context (DynamicSequentialTask) software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/MongoDBReplicaSetImpl.java (7 lines): - line 186: // FIXME: Names must be unique if the replica sets are used in a sharded cluster - line 251: // TODO Don't use executor, use ExecutionManager - line 279: // TODO Could limit number of retries - line 299: // FIXME is there a chance of race here? - line 333: // TODO Could limit number of retries - line 361: // FIXME would it be simpler to have a *subscription* on four or five sensors on allMembers, including SERVICE_UP - line 440: // TODO Note that after this the executor will not run if the set is restarted. software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/DynamicWebAppClusterImpl.java (6 lines): - line 123: // TODO this will probably be useful elsewhere ... but where to put it? - line 124: // TODO add support for this in DependentConfiguration (see TODO there) - line 156: // TODO replace with subscription? - line 186: // TODO support for atomic sensor update (should be part of standard tooling; NB there is some work towards this, according to @aledsage) - line 220: // TODO a better way to do atomic updates, see comment above - line 230: // TODO a better way to do atomic updates, see comment above software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraFabricImpl.java (6 lines): - line 72: // TODO Remove duplication from CassandraClusterImpl.defaultSeedSupplier - line 101: // TODO Could be race where nodes have only just returned from start() and are about to - line 184: // TODO remove duplication from CassandraClusterImpl.SeedTracker.isViableSeed - line 285: // TODO probably don't need to anymore, as it is set on the Fabric here -- just make sure there is a default! - line 324: // TODO wait until all nodes which we think are up are consistent - line 339: // TODO Aggregate across sub-clusters software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseClusterImpl.java (6 lines): - line 213: //TODO: select a new primary node if this one fails - line 320: //FIXME: make use of servers to be added after cluster initialization. - line 418: // TODO Only leaving CouchbaseQuorumCheck here in case it is contained in persisted state. - line 485: //FIXME check feedback of whether the server was added. - line 513: //TODO: check for port conflicts if buckets are being created with a port - line 581: // TODO: Bail out if bucket creation fails, to allow next bucket to proceed software/cm/chef/src/main/java/org/apache/brooklyn/entity/chef/ChefLifecycleEffectorTasks.java (6 lines): - line 100: // TODO would be better if CHEF_NODE_NAME were a freemarker template, could access entity.id, or hostname, etc, - line 128: // TODO server via API - line 177: // TODO chef for and run a prestart recipe if necessary - line 178: // TODO open ports - line 210: // TODO prestart, ports (as above); also, note, some aspects of this are untested as we need a chef server - line 309: // TODO args could be a List config key ? software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlSshDriver.java (5 lines): - line 97: * TODO this is much messier than we would like because postgres runs as user postgres, - line 165: // TODO if command above fails then the following `getUnchecked` blocks forever - line 298: // TODO give users control which hosts can connect and the authentication mechanism - line 419: // TODO Duplicate of JcloudsLocation.toListOfStrings - line 478: // TODO currently put in /tmp for staging, since run dir may not be accessible to ssh user software/cm/chef/src/main/java/org/apache/brooklyn/entity/chef/ChefTasks.java (5 lines): - line 52: // TODO check on entity whether it is chef _server_ - line 82: // TODO - skip the install earlier if it exists and isn't forced - line 123: // TODO if it's server, try knife first - line 124: // TODO configure add'l properties - line 149: // TODO chef server software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/SaltSshTasks.java (5 lines): - line 54: // TODO: ignore force? - line 67: // TODO: ignore force? - line 123: // TODO move this into salt_utilities.sh - line 144: // TODO: ignore force? - line 145: // TODO: move this into salt_utilities.sh software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractControllerImpl.java (5 lines): - line 72: // TODO Should review synchronization model. Currently, all changes to the serverPoolTargets - line 104: // TODO want a more elegant idiom for this! - line 199: super.onManagementNoLongerMaster(); // TODO remove when deprecated method in parent removed - line 366: // TODO when rebind policies, and rebind calls connectSensors, then this will cause problems. - line 509: // TODO this does it synchronously; an async method leaning on `updateNeeded` and `update` might software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java (5 lines): - line 101: // TODO PERSISTENCE WORKAROUND kept anonymous class in case referenced in persisted state - line 133: * TODO Ugly. Need to understand more and find a better fix. Perhaps in Cassandra itself if necessary. - line 156: * (TODO internal access could be configured to improve performance / lower cost, - line 223: // TODO check what is required when replacing failed node. - line 425: // FIXME does not work on aws-ec2, uses RFC1918 address software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBShardClusterImpl.java (5 lines): - line 52: // TODO: Need to use attributes for this in order to support brooklyn restart - line 55: // TODO: Need to use attributes for this in order to support brooklyn restart - line 62: * TODO Should use ExecutionManager. - line 98: // TODO Note that after this the executor will not run if the set is restarted. - line 130: // TODO Don't use executor, use ExecutionManager; but following pattern in MongoDBReplicaSetImpl for now. software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/ControlledDynamicWebAppClusterImpl.java (4 lines): - line 148: // TODO inefficient impl; also worth extracting this into a mixin of some sort. - line 159: // TODO convert to an entity reference which is serializable - line 243: // TODO prod the entities themselves to restart, instead? - line 251: // FIXME no longer needed software/osgi/src/main/java/org/apache/brooklyn/entity/osgi/karaf/KarafContainerImpl.java (4 lines): - line 63: // TODO Better way of setting/overriding defaults for config keys that are defined in super class SoftwareProcess - line 111: //FIXME should have a better way of setting config -- firstly, not here! - line 246: // TODO Consider switching to use either: - line 274: // TODO Consider switching to use either: software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakClusterImpl.java (4 lines): - line 88: //FIXME: add a quorum to tolerate failed nodes before setting on fire. - line 166: // TODO can we discover the nodes by asking the riak cluster, rather than assuming what we add will be in there? - line 167: // TODO and can we do join as part of node starting? - line 187: // TODO: be wary of erroneous nodes but are still flagged 'in cluster' software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/AbstractNonProvisionedControllerImpl.java (4 lines): - line 115: // TODO execute as tasks? - line 123: // TODO execute as tasks? - line 171: // TODO want a more elegant idiom for this! - line 376: // TODO this does it synchronously; an async method leaning on `updateNeeded` and `update` might sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixFeed.java (4 lines): - line 327: // TODO if supplier returns null, we may wish to defer initialization until url available? - line 328: // TODO for https should we really trust all? - line 427: getPoller().scheduleAtFixedRate(registerJob, registrationHandler, 1000l); // TODO make configurable - line 452: long minPeriod = Integer.MAX_VALUE; // TODO make configurable software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeSshDriver.java (3 lines): - line 96: //FIXME installation return error but the server is up and running. - line 140: //TODO: add linux tweaks for couchbase - line 183: //TODO add a better way to check if couchbase server is running software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxSshDriver.java (3 lines): - line 59: // TODO An alternative way of installing nginx is described at: - line 218: // TODO Upgrade sticky module as soon as a fix for https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/issue/16/can-not-compile-on-macosx-yosemite - line 315: // TODO if can't be root, and ports > 1024 are in the allowed port range, sandbox/database/src/main/java/org/apache/brooklyn/entity/database/derby/DerbySchema.java (3 lines): - line 46: // FIXME Needs reviewed and implemented properly; while fixing compilation errors - line 50: // TODO Somehow share jmx connection with DerbyDatabase instance - line 52: // TODO Declare effectors software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeSshDriver.java (3 lines): - line 260: // TODO currently use the class as a semaphore; messy, and obviously will not federate; - line 285: // TODO should look at last start time... but instead we always wait - line 340: // TODO Could probably get rid of the nohup here, as script does equivalent itself software/osgi/src/main/java/org/apache/brooklyn/entity/osgi/karaf/KarafSshDriver.java (3 lines): - line 39: // TODO getJmxJavaSystemProperties(), don't set via JAVA_OPTS; set ourselves manually - line 99: // TODO Can we use the pidFile, auto-generated by launch? - line 129: stop(); // TODO no pid file to easily do `kill -9` software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxControllerImpl.java (3 lines): - line 127: // TODO PERSISTENCE WORKAROUND kept anonymous function in case referenced in persisted state - line 139: // TODO when updating the map, if it would change from empty to empty on a successful run - line 195: // TODO don't want stop to race with the last poll. software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/storm/StormImpl.java (2 lines): - line 89: // // TODO SERVICE_UP should really be a combo of JMX plus is running - line 98: // FIXME for now we do service up based on pid check -- we get a warning that: software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/MongoDBClientSshDriver.java (2 lines): - line 88: // TODO better would be to get some confirmation - line 114: // TODO: escape preStart to prevent injection attack software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitQueue.java (2 lines): - line 60: return 0; // TODO parse out queue depth from output - line 68: return 0; // TODO parse out queue depth from output software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlClusterImpl.java (2 lines): - line 68: // TODO SSL connection between master and slave - line 69: // TODO Promote slave to master software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServerSshDriver.java (2 lines): - line 79: // TODO determine name of ethernet interface if not eth0? - line 82: // TODO Iptables is not a service on Ubuntu software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNodeEffectors.java (2 lines): - line 42: //TODO additionalOptions, path are not sanitized and are coming from the user. - line 57: // TODO sanitize path? software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/kafka/KafkaClusterImpl.java (2 lines): - line 108: // TODO should no longer be needed? - line 155: // TODO prod the entities themselves to restart, instead? software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss6SshDriver.java (2 lines): - line 69: } // FIXME what is this in as6? - line 83: // FIXME Should this pattern be used elsewhere? How? sandbox/extra/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeSaltImpl.java (2 lines): - line 81: // TODO Set these as defaults, rather than replacing user's value!? - line 181: // TODO no-op currently; should check ssh'able etc software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/NginxDefaultConfigGenerator.java (2 lines): - line 60: // TODO Give nicer page back - line 156: // TODO Currently only supports "~" for regex. Could add support for other options, software/webapp/src/main/java/org/apache/brooklyn/entity/dns/AbstractGeoDnsServiceImpl.java (2 lines): - line 193: // TODO: remove group member polling once locations can be determined via subscriptions - line 234: * TODO in a future release, we may change this to explicitly set the sensor(s) to look at on the entity, and software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitSshDriver.java (2 lines): - line 52: * TODO javadoc - line 177: stop(); // TODO No pid file to easily do `kill -9` software/osgi/src/main/java/org/apache/brooklyn/entity/osgi/karaf/KarafContainer.java (2 lines): - line 48: // TODO Better way of setting/overriding defaults for config keys that are defined in super class SoftwareProcess - line 76: // TODO too complicated? Used by KarafContainer; was in JavaApp; where should it be in brave new world? software/cm/chef/src/main/java/org/apache/brooklyn/entity/chef/ChefConfig.java (2 lines): - line 60: // TODO server via API - line 69: // TODO server-url for server via API mode qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedJBoss7ServerImpl.java (2 lines): - line 112: // TODO What would set this normally, if not doing connectServiceUpIsRunning? - line 115: // if simulating entity, then simulate work of periodic HTTP request; TODO but not parsing JSON response software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jetty/Jetty6ServerImpl.java (2 lines): - line 91: // TODO we could do simple things, like check that web server is accepting connections - line 133: // TODO for now we simply restart jetty to achieve "hot deployment"; should use the config mechanisms sandbox/database/src/main/java/org/apache/brooklyn/entity/database/derby/DerbyDatabaseSshDriver.java (2 lines): - line 37: * TODO work in progress - line 82: // TODO Should we redirect stdout/stderr: format(" >> %s/console 2>&1 > %s/console 2>&1 - line 87: // FIXME Do we want to redirect stdout/stderr: >> %s/console 2>&1 software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/nodejs/NodeJsWebAppSshDriver.java (1 line): - line 88: // TODO Suggest that other entities follow this pattern as well: check for port availability early software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/MongoDBServerImpl.java (1 line): - line 191: // TODO The attributes IS_PRIMARY_FOR_REPLICA_SET and REPLICA_SET_MEMBER_STATUS can be out-of-sync. software/cm/salt/src/main/java/org/apache/brooklyn/entity/cm/salt/SaltUtils.java (1 line): - line 37: // TODO: implement properties reload logic software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/jms/JMSBrokerImpl.java (1 line): - line 139: // TODO this check may be redundant or even inappropriate software/cm/chef/src/main/java/org/apache/brooklyn/entity/chef/ChefSoloDriver.java (1 line): - line 54: // TODO flag to force reinstallation software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/activemq/ActiveMQSshDriver.java (1 line): - line 96: // TODO disable persistence (this should be a flag -- but it seems to have no effect, despite ): software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/storm/StormSshDriver.java (1 line): - line 177: // TODO use SoftwareProcess#START_LATCH instead here? software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/sharding/MongoDBRouterImpl.java (1 line): - line 60: // TODO: This is the same as in AbstractMongoDBSshDriver.isRunning. software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss6ServerImpl.java (1 line): - line 56: // TODO instead of setting SERVICE_UP directly, want to use equivalent of software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNode.java (1 line): - line 227: // TODO add commitCluster() effector and add effectors joinCluster, leaveCluster, removeNode, recoverFailedNode which do not execute commitCluster() software/database/src/main/java/org/apache/brooklyn/entity/database/mariadb/MariaDbNodeImpl.java (1 line): - line 69: * TODO status gives us things like: software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/activemq/ActiveMQTopicImpl.java (1 line): - line 46: //TODO add sensors for topics software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/AbstractMongoDBSshDriver.java (1 line): - line 136: // TODO: Wait for process to terminate. Currently, this will send the signal and then immediately continue with next steps, software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlNodeImpl.java (1 line): - line 79: * TODO status gives us things like: software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitBrokerImpl.java (1 line): - line 69: // TODO implement this using AMQP connection, no external mechanism available software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchdb/CouchDBCluster.java (1 line): - line 31: * TODO add sensors with aggregated CouchDB statistics from cluster software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/couchbase/CouchbaseNodeImpl.java (1 line): - line 119: // TODO this creates a huge list of inbound ports; much better to define on a security group using range syntax! software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitDestination.java (1 line): - line 56: // FIXME Should return RabbitBroker; won't work if gets a proxy rather than "real" entity software/network/src/main/java/org/apache/brooklyn/entity/network/bind/BindDnsServer.java (1 line): - line 78: // TODO in future might want to change default to Attributes.ADDRESS (and lose the "inspect machines" default behaviour) software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/kafka/Kafka.java (1 line): - line 39: // TODO: Upgrade to version 0.8.0, which will require refactoring of the sensors to reflect the changes to the JMX beans software/cm/chef/src/main/java/org/apache/brooklyn/entity/chef/ChefSoloTasks.java (1 line): - line 33: // TODO check on entity whether it is chef _server_ sandbox/cassandra-multicloud-snitch/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/customsnitch/MultiCloudSnitch.java (1 line): - line 60: // FIXME Need to submit a pull request to Cassandra (1.2.x branch) for this snitch. software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jboss/JBoss6Server.java (1 line): - line 42: // TODO Instead of using portIncrement, would prefer to use http_port as "8080+" etc. sandbox/monitoring/src/main/java/org/apache/brooklyn/entity/monitoring/zabbix/ZabbixPollConfig.java (1 line): - line 41: // FIXME Fix generics software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/mongodb/ReplicaSetConfig.java (1 line): - line 123: // TODO: Switch to SUBNET_HOSTNAME and there should be no need for a Brooklyn accessible software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/qpid/QpidDestinationImpl.java (1 line): - line 59: // TODO Would be nice to share the JmxHelper for all destinations, so just one connection. software/database/src/main/java/org/apache/brooklyn/entity/database/postgresql/PostgreSqlNodeImpl.java (1 line): - line 66: // TODO add a public JDBC_URL ? software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/DynamicWebAppFabricImpl.java (1 line): - line 71: // TODO This needs to respond to changes in FABRIC_SIZE as well, to recalculate sandbox/mobile-app/src/main/webapp/assets/mobile/js/controllers.js (1 line): - line 175: //TODO: show dialog requesting if user wants to release resources software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenter.java (1 line): - line 57: // FIXME datacenter name -- also CASS_CLUSTER_NODES should be CASS_DC_NODES software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/nginx/UrlMappingImpl.java (1 line): - line 179: // FIXME Do we really need this?! qa/src/main/java/org/apache/brooklyn/qa/longevity/Monitor.java (1 line): - line 254: // TODO What is the guava equivalent? Don't want Set.difference, because duplicates/ordered. software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/riak/RiakNodeImpl.java (1 line): - line 139: String cidr = Cidr.UNIVERSAL.toString(); // TODO configure with a more restrictive CIDR qa/src/main/java/org/apache/brooklyn/qa/longevity/MonitorUtils.java (1 line): - line 246: // TODO Annoying that String.split() returns size 1 when empty string; lookup javadoc when back online... software/database/src/main/java/org/apache/brooklyn/entity/database/mysql/MySqlSshDriver.java (1 line): - line 190: * TODO: this should not assume that the password is blank. software/webapp/src/main/java/org/apache/brooklyn/entity/proxy/LoadBalancerClusterImpl.java (1 line): - line 40: // TODO I suspect there are races with reconfiguring the load-balancers while qa/src/main/java/org/apache/brooklyn/qa/load/SimulatedNginxControllerImpl.java (1 line): - line 84: // if simulating entity, then simulate work of periodic HTTP request; TODO but not parsing JSON response software/cm/chef/src/main/java/org/apache/brooklyn/entity/chef/KnifeConvergeTaskFactory.java (1 line): - line 247: // TODO other methods from KnifeTaskFactory will return KTF class not KCTF; software/webapp/src/main/java/org/apache/brooklyn/entity/webapp/jetty/Jetty6SshDriver.java (1 line): - line 45: // TODO no wildcard, also there is .requests.log software/messaging/src/main/java/org/apache/brooklyn/entity/messaging/rabbit/RabbitBroker.java (1 line): - line 84: // TODO required by RabbitDestination due to close-coupling between that and RabbitBroker; how best to improve?