You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by ms...@apache.org on 2021/12/02 03:13:13 UTC

[incubator-teaclave] branch master updated: [Add] Service launching in logs and reconnecting warnings. (#582)

This is an automated email from the ASF dual-hosted git repository.

mssun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git


The following commit(s) were added to refs/heads/master by this push:
     new d2568d1  [Add] Service launching in logs and reconnecting warnings. (#582)
d2568d1 is described below

commit d2568d1441c7a2b5682beb5459eacc006c9a3941
Author: Zhaofeng Chen <zf...@apache.org>
AuthorDate: Wed Dec 1 19:13:06 2021 -0800

    [Add] Service launching in logs and reconnecting warnings. (#582)
---
 services/frontend/enclave/src/lib.rs       | 14 +++++++++++++-
 services/frontend/enclave/src/service.rs   |  4 ++--
 services/management/enclave/src/lib.rs     | 11 +++++++++++
 services/management/enclave/src/service.rs |  2 +-
 services/scheduler/enclave/src/lib.rs      |  8 ++++++++
 services/scheduler/enclave/src/service.rs  |  2 +-
 services/storage/enclave/src/lib.rs        |  9 +++++++++
 7 files changed, 45 insertions(+), 5 deletions(-)

diff --git a/services/frontend/enclave/src/lib.rs b/services/frontend/enclave/src/lib.rs
index dc71fd9..23be67c 100644
--- a/services/frontend/enclave/src/lib.rs
+++ b/services/frontend/enclave/src/lib.rs
@@ -48,20 +48,26 @@ mod error;
 mod service;
 
 fn start_service(config: &RuntimeConfig) -> Result<()> {
+    info!("Starting FrontEnd ...");
+
     let listen_address = config.api_endpoints.frontend.listen_address;
     let attestation_config = AttestationConfig::from_teaclave_config(&config)?;
     let attested_tls_config = RemoteAttestation::new(attestation_config)
         .generate_and_endorse()?
         .attested_tls_config()
         .ok_or_else(|| anyhow!("cannot get attested TLS config"))?;
+
+    info!(" Starting FrontEnd: Self attestation finished ...");
+
     let server_config =
         SgxTrustedTlsServerConfig::from_attested_tls_config(attested_tls_config.clone())?;
-
     let mut server = SgxTrustedTlsServer::<TeaclaveFrontendResponse, TeaclaveFrontendRequest>::new(
         listen_address,
         server_config,
     );
 
+    info!(" Starting FrontEnd: Server config setup finished ...");
+
     let enclave_info = teaclave_types::EnclaveInfo::from_bytes(&config.audit.enclave_info_bytes);
     let authentication_service_endpoint = create_trusted_authentication_endpoint(
         &config.internal_endpoints.authentication.advertised_address,
@@ -71,6 +77,8 @@ fn start_service(config: &RuntimeConfig) -> Result<()> {
         attested_tls_config.clone(),
     )?;
 
+    info!(" Starting FrontEnd: setup authentication endpoint finished ...");
+
     let management_service_endpoint = create_trusted_management_endpoint(
         &config.internal_endpoints.management.advertised_address,
         &enclave_info,
@@ -79,10 +87,14 @@ fn start_service(config: &RuntimeConfig) -> Result<()> {
         attested_tls_config,
     )?;
 
+    info!(" Starting FrontEnd: setup management endpoint finished ...");
+
     let service = service::TeaclaveFrontendService::new(
         authentication_service_endpoint,
         management_service_endpoint,
     )?;
+
+    info!(" Starting FrontEnd: start listening ...");
     match server.start(service) {
         Ok(_) => (),
         Err(e) => {
diff --git a/services/frontend/enclave/src/service.rs b/services/frontend/enclave/src/service.rs
index 79c070d..6ab47c2 100644
--- a/services/frontend/enclave/src/service.rs
+++ b/services/frontend/enclave/src/service.rs
@@ -82,7 +82,7 @@ impl TeaclaveFrontendService {
                 Ok(channel) => break channel,
                 Err(_) => {
                     anyhow::ensure!(i < 10, "failed to connect to authentication service");
-                    log::debug!("Failed to connect to authentication service, retry {}", i);
+                    log::warn!("Failed to connect to authentication service, retry {}", i);
                     i += 1;
                 }
             }
@@ -98,7 +98,7 @@ impl TeaclaveFrontendService {
                 Ok(channel) => break channel,
                 Err(_) => {
                     anyhow::ensure!(i < 10, "failed to connect to management service");
-                    log::debug!("Failed to connect to management service, retry {}", i);
+                    log::warn!("Failed to connect to management service, retry {}", i);
                     i += 1;
                 }
             }
diff --git a/services/management/enclave/src/lib.rs b/services/management/enclave/src/lib.rs
index 07f357f..45ee3ba 100644
--- a/services/management/enclave/src/lib.rs
+++ b/services/management/enclave/src/lib.rs
@@ -46,12 +46,16 @@ mod error;
 mod service;
 
 fn start_service(config: &RuntimeConfig) -> Result<()> {
+    info!("Starting Management...");
+
     let listen_address = config.internal_endpoints.management.listen_address;
     let attestation_config = AttestationConfig::from_teaclave_config(&config)?;
     let attested_tls_config = RemoteAttestation::new(attestation_config)
         .generate_and_endorse()?
         .attested_tls_config()
         .ok_or_else(|| anyhow!("cannot get attested TLS config"))?;
+    info!(" Starting Management: Self attestation finished ...");
+
     let enclave_info = EnclaveInfo::verify_and_new(
         &config.audit.enclave_info_bytes,
         AUDITOR_PUBLIC_KEYS,
@@ -71,6 +75,9 @@ fn start_service(config: &RuntimeConfig) -> Result<()> {
                 AS_ROOT_CA_CERT,
                 verifier::universal_quote_verifier,
             )?;
+
+    info!(" Starting Management: Server config setup finished ...");
+
     let mut server =
         SgxTrustedTlsServer::<TeaclaveManagementResponse, TeaclaveManagementRequest>::new(
             listen_address,
@@ -85,7 +92,11 @@ fn start_service(config: &RuntimeConfig) -> Result<()> {
         attested_tls_config,
     )?;
 
+    info!(" Starting Management: setup storage endpoint finished ...");
+
     let service = service::TeaclaveManagementService::new(storage_service_endpoint)?;
+
+    info!(" Starting Management: start listening ...");
     match server.start(service) {
         Ok(_) => (),
         Err(e) => {
diff --git a/services/management/enclave/src/service.rs b/services/management/enclave/src/service.rs
index e51f693..d268a43 100644
--- a/services/management/enclave/src/service.rs
+++ b/services/management/enclave/src/service.rs
@@ -513,7 +513,7 @@ impl TeaclaveManagementService {
                 Ok(channel) => break channel,
                 Err(_) => {
                     anyhow::ensure!(i < 10, "failed to connect to storage service");
-                    log::debug!("Failed to connect to storage service, retry {}", i);
+                    log::warn!("Failed to connect to storage service, retry {}", i);
                     i += 1;
                 }
             }
diff --git a/services/scheduler/enclave/src/lib.rs b/services/scheduler/enclave/src/lib.rs
index a7c287b..1285fa3 100644
--- a/services/scheduler/enclave/src/lib.rs
+++ b/services/scheduler/enclave/src/lib.rs
@@ -49,12 +49,16 @@ mod publisher;
 mod service;
 
 fn start_service(config: &RuntimeConfig) -> Result<()> {
+    info!("Starting Scheduler...");
+
     let listen_address = config.internal_endpoints.scheduler.listen_address;
     let attestation_config = AttestationConfig::from_teaclave_config(&config)?;
     let attested_tls_config = RemoteAttestation::new(attestation_config)
         .generate_and_endorse()?
         .attested_tls_config()
         .ok_or_else(|| anyhow!("cannot get attested TLS config"))?;
+    info!(" Starting Scheduler: Self attestation finished ...");
+
     let enclave_info = EnclaveInfo::verify_and_new(
         &config.audit.enclave_info_bytes,
         AUDITOR_PUBLIC_KEYS,
@@ -74,6 +78,7 @@ fn start_service(config: &RuntimeConfig) -> Result<()> {
                 AS_ROOT_CA_CERT,
                 verifier::universal_quote_verifier,
             )?;
+    info!(" Starting Scheduler: Server config setup finished ...");
 
     let mut server =
         SgxTrustedTlsServer::<TeaclaveSchedulerResponse, TeaclaveSchedulerRequest>::new(
@@ -89,8 +94,11 @@ fn start_service(config: &RuntimeConfig) -> Result<()> {
         verifier::universal_quote_verifier,
         attested_tls_config,
     )?;
+    info!(" Starting Scheduler: setup storage endpoint finished ...");
 
     let service = service::TeaclaveSchedulerService::new(storage_service_endpoint)?;
+
+    info!(" Starting Scheduler: start listening ...");
     match server.start(service) {
         Ok(_) => (),
         Err(e) => {
diff --git a/services/scheduler/enclave/src/service.rs b/services/scheduler/enclave/src/service.rs
index 8c681f5..f7beff6 100644
--- a/services/scheduler/enclave/src/service.rs
+++ b/services/scheduler/enclave/src/service.rs
@@ -48,7 +48,7 @@ impl TeaclaveSchedulerService {
                 Ok(channel) => break channel,
                 Err(_) => {
                     anyhow::ensure!(i < 10, "failed to connect to storage service");
-                    log::debug!("Failed to connect to storage service, retry {}", i);
+                    log::warn!("Failed to connect to storage service, retry {}", i);
                     i += 1;
                 }
             }
diff --git a/services/storage/enclave/src/lib.rs b/services/storage/enclave/src/lib.rs
index 4bf8252..5f61369 100644
--- a/services/storage/enclave/src/lib.rs
+++ b/services/storage/enclave/src/lib.rs
@@ -50,12 +50,16 @@ mod proxy;
 mod service;
 
 fn start_service(config: &RuntimeConfig) -> Result<()> {
+    info!("Starting Storage...");
+
     let listen_address = config.internal_endpoints.storage.listen_address;
     let attestation_config = AttestationConfig::from_teaclave_config(&config)?;
     let attested_tls_config = RemoteAttestation::new(attestation_config)
         .generate_and_endorse()?
         .attested_tls_config()
         .ok_or_else(|| anyhow!("cannot get attested TLS config"))?;
+    info!(" Starting Storage: Self attestation finished ...");
+
     let enclave_info = EnclaveInfo::verify_and_new(
         &config.audit.enclave_info_bytes,
         AUDITOR_PUBLIC_KEYS,
@@ -74,15 +78,19 @@ fn start_service(config: &RuntimeConfig) -> Result<()> {
         AS_ROOT_CA_CERT,
         verifier::universal_quote_verifier,
     )?;
+    info!(" Starting Storage: Server config setup finished ...");
 
     let (sender, receiver) = channel();
     thread::spawn(move || {
+        info!(" Starting Storage: opening database ...");
         #[cfg(test_mode)]
         let db = test_mode::create_mock_db();
         #[cfg(not(test_mode))]
         let db = create_teaclave_db();
 
         let mut storage_service = service::TeaclaveStorageService::new(RefCell::new(db), receiver);
+
+        info!(" Starting Storage: database loaded ...");
         storage_service.start();
     });
 
@@ -93,6 +101,7 @@ fn start_service(config: &RuntimeConfig) -> Result<()> {
 
     let service = proxy::ProxyService::new(sender);
 
+    info!(" Starting Storage: start listening ...");
     match server.start(service) {
         Ok(_) => (),
         Err(e) => {

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org