File tree 6 files changed +47
-12
lines changed
coordinator/gscoordinator
src/instance-manager/src/main/java/com/alibaba/maxgraph/admin/controller
python/graphscope/deploy/kubernetes
6 files changed +47
-12
lines changed Original file line number Diff line number Diff line change @@ -157,15 +157,22 @@ def __del__(self):
157
157
self ._cleanup ()
158
158
159
159
def _config_logging (self , log_level ):
160
- if log_level :
161
- log_level = getattr (logging , log_level .upper (), logging .INFO )
162
- else :
163
- log_level = logging .INFO
164
- logging .getLogger ("graphscope" ).setLevel (log_level )
165
- logging .basicConfig (
166
- format = "%(asctime)s [%(levelname)s][%(module)s:%(lineno)d]: %(message)s" ,
167
- stream = sys .stdout ,
160
+ """Set log level basic on config.
161
+ Args:
162
+ log_level (str): Log level of stdout handler
163
+ """
164
+ logger = logging .getLogger ("graphscope" )
165
+ logger .setLevel (logging .DEBUG )
166
+
167
+ stdout_handler = logging .StreamHandler (sys .stdout )
168
+ stdout_handler .setLevel (log_level )
169
+
170
+ formatter = logging .Formatter (
171
+ "%(asctime)s [%(levelname)s][%(module)s:%(lineno)d]: %(message)s"
168
172
)
173
+ stdout_handler .setFormatter (formatter )
174
+
175
+ logger .addHandler (stdout_handler )
169
176
170
177
def ConnectSession (self , request , context ):
171
178
# A session is already connected.
Original file line number Diff line number Diff line change 3
3
###############################################################################
4
4
5
5
project(example C CXX)
6
- cmake_minimum_required(VERSION 2.8 )
6
+ cmake_minimum_required(VERSION 3.5 )
7
7
8
8
option(CYTHON_PREGEL_APP "Whether to build cython pregel app." False)
9
9
option(CYTHON_PIE_APP "Whether to build cython pie app" False)
Original file line number Diff line number Diff line change 13
13
# See the License for the specific language governing permissions and
14
14
# limitations under the License.
15
15
source /root/maxgraph/func.sh
16
+ timeout_seconds=60
17
+
16
18
function _create_maxgraph_instance {
17
19
_setup_config
18
20
# launch coordinator & frontend in one pod
@@ -67,7 +69,20 @@ function _expose_gremlin_server {
67
69
kubectl expose pod ${gremlin_pod} --name=gremlin-${object_id} --port=${external_port} \
68
70
--target-port=${port} --type=LoadBalancer 1> /dev/null 2>&1
69
71
[ $? -eq 0 ] || exit 1
70
- EXTERNAL_IP=` kubectl describe service gremlin-${object_id} | grep " LoadBalancer Ingress" | awk -F' [ :]+' ' {print $3}' `
72
+ wait_period_seconds=0
73
+ while true
74
+ do
75
+ EXTERNAL_IP=` kubectl describe service gremlin-${object_id} | grep " LoadBalancer Ingress" | awk -F' [ :]+' ' {print $3}' `
76
+ if [ -n " ${EXTERNAL_IP} " ]; then
77
+ break
78
+ fi
79
+ wait_period_seconds=$(( $wait_period_seconds + 5 ))
80
+ if [ ${wait_period_seconds} -gt ${timeout_seconds} ]; then
81
+ echo " Get external ip of ${GREMLIN_EXPOSE} failed."
82
+ break
83
+ fi
84
+ sleep 5
85
+ done
71
86
else
72
87
kubectl expose pod ${gremlin_pod} --name=gremlin-${object_id} --port=${port} \
73
88
--target-port=${port} --type=NodePort 1> /dev/null 2>&1
Original file line number Diff line number Diff line change @@ -161,6 +161,11 @@ public CreateInstanceEntity createInstance(@RequestParam("graphName") String gra
161
161
}
162
162
163
163
private boolean checkInstanceReady (String ip , int port ) {
164
+ if (ip .equals ("localhost" ) || ip .equals ("127.0.0.1" )) {
165
+ // now, used in mac os with docker-desktop kubernetes cluster,
166
+ // which external ip is 'localhost' when service type is 'LoadBalancer'.
167
+ return true ;
168
+ }
164
169
MessageSerializer serializer = Serializers .GRYO_V1D0 .simpleInstance ();
165
170
Map <String , Object > config = new HashMap <String , Object >() {
166
171
{
Original file line number Diff line number Diff line change @@ -57,7 +57,7 @@ RUN export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/graphscope/lib:/opt/graphscope/
57
57
pip3 install -r requirements.txt -r requirements-dev.txt && \
58
58
python3 setup.py bdist_wheel && \
59
59
cd ./dist && \
60
- auditwheel repair --plat=manylinux2014_x86_64 ./*.whl && \
60
+ auditwheel repair --plat=manylinux2014_x86_64 ./*.whl || true && \
61
61
cp ./wheelhouse/* /opt/graphscope/dist/ && \
62
62
cd /root/gs/coordinator && \
63
63
pip3 install -r requirements.txt -r requirements-dev.txt && \
Original file line number Diff line number Diff line change @@ -450,7 +450,12 @@ def _waiting_for_services_ready(self):
450
450
451
451
for pod in pods .items :
452
452
self ._coordinator_pods_watcher .append (
453
- KubernetesPodWatcher (self ._api_client , self ._namespace , pod )
453
+ KubernetesPodWatcher (
454
+ self ._api_client ,
455
+ self ._namespace ,
456
+ pod ,
457
+ self ._coordinator_container_name ,
458
+ )
454
459
)
455
460
self ._coordinator_pods_watcher [- 1 ].start ()
456
461
@@ -532,6 +537,9 @@ def _dump_coordinator_failed_status(self):
532
537
break
533
538
else :
534
539
logger .error (message , extra = {"simple" : True })
540
+ else :
541
+ for pod_watcher in self ._coordinator_pods_watcher :
542
+ pod_watcher .stop ()
535
543
536
544
def start (self ):
537
545
"""Launch graphscope instance on kubernetes cluster.
You can’t perform that action at this time.
0 commit comments