<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _readClusterSettings(self):
 """ Read the current instance's meta-data to get the cluster settings. """

        # get the leader metadata
        mdUrl = "http://169.254.169.254/metadata/instance?api-version=2017-08-01"
        header = {'Metadata': 'True'}
        request = urllib.request.Request(url=mdUrl, headers=header)
        response = urllib.request.urlopen(request)
        data = response.read()
        dataStr = data.decode("utf-8")
        metadata = json.loads(dataStr)

        # set values from the leader meta-data
        self._zone = metadata['compute']['location']
        self.clusterName = metadata['compute']['resourceGroupName']
        tagsStr = metadata['compute']['tags']
        tags = dict(item.split(":") for item in tagsStr.split(";"))
        self._owner = tags.get('owner', 'no-owner')
        leader = self.getLeader()
        self._leaderPrivateIP = leader.privateIP
        self._setSSH()  # create id_rsa.pub file on the leader if it is not there
        self._masterPublicKeyFile =  self.LEADER_HOME_DIR + '.ssh/id_rsa.pub'

        # Add static nodes to /etc/hosts since Azure sometimes fails to find them with DNS
        map(lambda x: self._addToHosts(x), self.getProvisionedWorkers(None))