def _unlink(name): """ Unlink a DC/OS cluster. :param name: ID or name of the cluster :type name: str :returns: process status :rtype: int """ c = cluster.get_cluster(name) if c: name = c.get_cluster_id() dcos_url = config.get_config_val('core.dcos_url') endpoint = urllib.parse.urljoin(dcos_url, '/cluster/v1/links/' + name) try: http.delete(endpoint) except DCOSHTTPException as e: if e.status() == 404: raise DCOSException('Unknown cluster link {}.'.format(name)) raise return 0
def _rename(name, new_name): """ :param name: name of cluster :type name: str :param new_name: new_name of cluster :type new_name: str :rtype: None """ c = cluster.get_cluster(name) other = cluster.get_cluster(new_name) if c is None: raise DCOSException("Cluster [{}] does not exist".format(name)) elif other and other != c: msg = "A cluster with name [{}] already exists" raise DCOSException(msg.format(new_name)) else: config.set_val("cluster.name", new_name, c.get_config_path())
def _attach(name): """ :param name: name of cluster :type name: str :rtype: None """ c = cluster.get_cluster(name) if c is not None: return cluster.set_attached(c.get_cluster_path()) else: raise DCOSException("Cluster [{}] does not exist".format(name))
def _attach(name): """ :param name: name of cluster :type name: str :rtype: None """ c = cluster.get_cluster(name) if not c: raise DCOSException("Cluster [{}] does not exist".format(name)) if c.get_status() == cluster.STATUS_UNCONFIGURED: return setup(c.get_url(), provider=c.get_provider().get('id')) return cluster.set_attached(c.get_cluster_path())
def test_get_cluster(get_clusters): clusters = [_cluster("its_me_mario"), _cluster("its_me_luigi")] get_clusters.return_value = clusters expected_msg = ('Multiple clusters matching "cluster-its_me", ' 'please use the cluster ID.') with pytest.raises(errors.DCOSException, message=expected_msg): assert cluster.get_cluster("its_me") assert cluster.get_cluster("cluster-its_me_mario") == clusters[0] assert cluster.get_cluster("its_me_m") == clusters[0] assert cluster.get_cluster("its_me_mario") == clusters[0] assert cluster.get_cluster("cluster-its_me_luigi") == clusters[1] assert cluster.get_cluster("its_me_l") == clusters[1] assert cluster.get_cluster("its_me_luigi") == clusters[1] assert cluster.get_cluster("cluster-its_not_me") is None
def _unlink(name): """ Unlink a DC/OS cluster. :param name: name of the cluster :type name: str :returns: process status :rtype: int """ c = cluster.get_cluster(name) if not c: raise DCOSException('Unknown cluster {}.'.format(name)) dcos_url = config.get_config_val('core.dcos_url') endpoint = urllib.parse.urljoin( dcos_url, '/cluster/v1/links/' + c.get_cluster_id()) http.delete(endpoint) return 0
def test_get_cluster(clusters): clusters.return_value = _test_cluster_list() assert cluster.get_cluster("a") == _cluster("a") assert cluster.get_cluster("cluster-b") == _cluster("b")