code: def _readClusterSettings(self):
          
          metadata_server = "http://metadata/computeMetadata/v1/instance/"
          metadata_flavor = {'Metadata-Flavor': 'Google'}
          zone = requests.get(metadata_server + 'zone', headers = metadata_flavor).text
          self._zone = zone.split('/')[-1]
  
          project_metadata_server = "http://metadata/computeMetadata/v1/project/"
          self._projectId = requests.get(project_metadata_server + 'project-id', headers = metadata_flavor).text
  
          # From a GCE instance, these values can be blank. Only the projectId is needed
          self._googleJson = ''
          self._clientEmail = ''
  
          self._tags = requests.get(metadata_server + 'description', headers = metadata_flavor).text
          tags = json.loads(self._tags)
          self.clusterName = tags['clusterName']
          self._gceDriver = self._getDriver()
          self._instanceGroup = self._gceDriver.ex_get_instancegroup(self.clusterName, zone=self._zone)
  
          leader = self.getLeader()
          self._leaderPrivateIP = leader.privateIP
  
          # generate a public key for the leader, which is used to talk to workers
          self._masterPublicKey = self._setSSH()
  
          # The location of the Google credentials file on instances.
          self._credentialsPath = GoogleJobStore.nodeServiceAccountJson
          self._keyName = 'core' # key name leader users to communicate with works
          self._botoPath = self.NODE_BOTO_PATH
docs: Read the cluster settings from the instance, which should be the leader.
          See https://cloud.google.com/compute/docs/storing-retrieving-metadata for details about
          reading the metadata.