18 #include <boost/algorithm/string/join.hpp>
19 #include <boost/algorithm/string.hpp>
23 using boost::algorithm::is_any_of;
24 using boost::algorithm::join;
25 using boost::algorithm::split;
26 using namespace llama;
31 os << hex <<
id.hi <<
":" <<
id.lo;
35 ostream&
operator<<(ostream& os,
const TNetworkAddress& address) {
36 os << address.hostname <<
":" << dec << address.port;
40 ostream&
operator<<(ostream& os,
const TResource& resource) {
42 <<
"client_resource_id=" << resource.client_resource_id <<
" "
43 <<
"v_cpu_cores=" << dec << resource.v_cpu_cores <<
" "
44 <<
"memory_mb=" << dec << resource.memory_mb <<
" "
45 <<
"asked_location=" << resource.askedLocation <<
" "
46 <<
"enforcement=" << resource.enforcement <<
")";
50 ostream&
operator<<(ostream& os,
const TAllocatedResource& resource) {
51 os <<
"Allocated Resource("
52 <<
"reservation_id=" << resource.reservation_id <<
" "
53 <<
"client_resource_id=" << resource.client_resource_id <<
" "
54 <<
"rm_resource_id=" << resource.rm_resource_id <<
" "
55 <<
"v_cpu_cores=" << dec << resource.v_cpu_cores <<
" "
56 <<
"memory_mb=" << dec << resource.memory_mb <<
" "
57 <<
"location=" << resource.location <<
")";
61 ostream&
operator<<(ostream& os,
const llama::TLlamaAMGetNodesRequest& request) {
62 os <<
"GetNodes Request(llama handle=" << request.am_handle <<
")";
66 ostream&
operator<<(ostream& os,
const llama::TLlamaAMReservationRequest& request) {
67 os <<
"Reservation Request("
68 <<
"llama handle=" << request.am_handle <<
" "
69 <<
"queue=" << request.queue <<
" "
70 <<
"user=" << request.user <<
" "
71 <<
"gang=" << request.gang <<
" "
73 for (
int i = 0; i < request.resources.size(); ++i) {
74 os << request.resources[i];
75 if (i + 1 != request.resources.size()) os <<
",";
82 const llama::TLlamaAMReservationExpansionRequest& request) {
83 os <<
"Expansion Request("
84 <<
"llama handle=" << request.am_handle <<
" "
85 <<
"reservation id=" << request.expansion_of <<
" "
86 <<
"resource=" << request.resource <<
")";
90 ostream&
operator<<(ostream& os,
const llama::TLlamaAMReleaseRequest& request) {
91 os <<
"Release Request("
92 <<
"llama handle=" << request.am_handle <<
" "
93 <<
"reservation id=" << request.reservation_id <<
")";
97 llama::TUniqueId&
operator<<(llama::TUniqueId& dest,
const impala::TUniqueId& src) {
103 impala::TUniqueId&
operator<<(impala::TUniqueId& dest,
const llama::TUniqueId& src) {
109 bool operator==(
const impala::TUniqueId& impala_id,
const llama::TUniqueId& llama_id) {
110 return impala_id.lo == llama_id.lo && impala_id.hi == llama_id.hi;
113 llama::TNetworkAddress&
operator<<(llama::TNetworkAddress& dest,
114 const impala::TNetworkAddress& src) {
115 dest.hostname = src.hostname;
116 dest.port = src.port;
120 impala::TNetworkAddress&
operator<<(impala::TNetworkAddress& dest,
121 const llama::TNetworkAddress& src) {
122 dest.hostname = src.hostname;
123 dest.port = src.port;
128 const string& err_prefix) {
131 ss << err_prefix <<
" " << join(status.error_msgs,
", ");
136 if (user.empty() || user[0] ==
'/' || user[0] ==
'@')
return user;
138 vector<string> components;
139 split(components, user, is_any_of(
"/@"));
140 return components[0];
ostream & operator<<(ostream &os, const TUniqueId &id)
impala::Status LlamaStatusToImpalaStatus(const TStatus &status, const string &err_prefix)
bool operator==(const impala::TUniqueId &impala_id, const llama::TUniqueId &llama_id)
string GetShortName(const string &user)