Skip to content

Commit 877958c

Browse files
authored
Freeze rust toolchain + add curl to dockerfile + fix bootstrapping (#1026)
1 parent fd849f4 commit 877958c

File tree

10 files changed

+126
-109
lines changed

10 files changed

+126
-109
lines changed

.github/workflows/rustdoc.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Install Rust toolchain
2323
uses: actions-rs/toolchain@v1
2424
with:
25-
toolchain: nightly
25+
toolchain: nightly-2021-01-28
2626
profile: minimal
2727
override: true
2828
components: rustfmt, rust-src

Dockerfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
from bitnami/minideb:latest
22

3+
run apt-get update
4+
run apt-get install curl --yes
5+
36
ARG exe=
47
ARG config=
58

crates/server-config/src/defaults.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ pub fn default_particle_queue_buffer_size() -> usize {
7070
}
7171

7272
pub fn default_particle_processor_parallelism() -> usize {
73-
num_cpus::get() * 4
73+
32
7474
}
7575

7676
pub fn default_script_storage_timer_resolution() -> Duration {

crates/test-utils/src/connected_client.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ impl ConnectedClient {
179179

180180
/// Wait for a particle with specified `particle_id`, and read "op" "return" result from it
181181
pub fn wait_particle_args(&mut self, particle_id: String) -> anyhow::Result<Vec<JValue>> {
182-
let mut max = 10;
182+
let mut max = 100;
183183
loop {
184184
max -= 1;
185185
if max <= 0 {

deploy/deployment_config.json

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,19 @@
1313
"159.89.2.70",
1414
"157.230.98.75"
1515
],
16-
"branch": "script_storage_list",
17-
"bootstrap": "138.197.177.2",
16+
"branch": "latest",
17+
"bootstrap": "165.227.164.206",
1818
"nodes": [
19-
"138.197.177.2"
19+
"165.227.164.206",
20+
"138.197.189.50",
21+
"157.230.23.49",
22+
"159.65.126.102",
23+
"142.93.169.49",
24+
"139.59.148.53",
25+
"206.81.30.129",
26+
"157.230.98.51",
27+
"159.89.2.70",
28+
"157.230.98.75"
2029
],
2130
"caddy": {
2231
"nodes": [

deploy/fluence.yml

Lines changed: 80 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -11,89 +11,89 @@ services:
1111
- fluence-1:/.fluence
1212
environment:
1313
RUST_BACKTRACE: "full"
14-
RUST_LOG: "debug,aquamarine=debug,aquamarine::actor=debug,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
14+
RUST_LOG: "info,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
1515
,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,particle_server::behaviour::identify=info,libp2p_mplex=info,libp2p_identify=info,walrus=info,particle_protocol::libp2p_protocol::upgrade=info"
1616
WASM_LOG: "info"
1717

18-
fluence-2:
19-
image: fluencelabs/fluence:$BRANCH
20-
restart: always
21-
ports:
22-
- "7002:7002" # Node service
23-
- "9002:9002" # Peer service
24-
command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7002 -w 9002"
25-
volumes:
26-
- fluence-2:/.fluence
27-
environment:
28-
RUST_BACKTRACE: "full"
29-
RUST_LOG: "debug,aquamarine=debug,aquamarine::actor=debug,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
30-
,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
31-
WASM_LOG: "info"
32-
33-
fluence-3:
34-
image: fluencelabs/fluence:$BRANCH
35-
restart: always
36-
ports:
37-
- "7003:7003" # Node service
38-
- "9003:9003" # Peer service
39-
command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7003 -w 9003"
40-
volumes:
41-
- fluence-3:/.fluence
42-
environment:
43-
RUST_BACKTRACE: "full"
44-
RUST_LOG: "debug,aquamarine=debug,aquamarine::actor=debug,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
45-
,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
46-
WASM_LOG: "info"
47-
48-
fluence-4:
49-
image: fluencelabs/fluence:$BRANCH
50-
restart: always
51-
ports:
52-
- "7004:7004" # Node service
53-
- "9004:9004" # Peer service
54-
command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7004 -w 9004"
55-
volumes:
56-
- fluence-4:/.fluence
57-
environment:
58-
RUST_BACKTRACE: "full"
59-
RUST_LOG: "debug,aquamarine=debug,aquamarine::actor=debug,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
60-
,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
61-
WASM_LOG: "info"
62-
63-
fluence-5:
64-
image: fluencelabs/fluence:$BRANCH
65-
restart: always
66-
ports:
67-
- "7005:7005" # Node service
68-
- "9005:9005" # Peer service
69-
command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7005 -w 9005"
70-
volumes:
71-
- fluence-5:/.fluence
72-
environment:
73-
RUST_BACKTRACE: "full"
74-
RUST_LOG: "debug,aquamarine=debug,aquamarine::actor=debug,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
75-
,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
76-
WASM_LOG: "info"
77-
78-
fluence-6:
79-
image: fluencelabs/fluence:$BRANCH
80-
restart: always
81-
ports:
82-
- "7006:7006" # Node service
83-
- "9006:9006" # Peer service
84-
command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7006 -w 9006"
85-
volumes:
86-
- fluence-6:/.fluence
87-
environment:
88-
RUST_BACKTRACE: "full"
89-
RUST_LOG: "debug,aquamarine=debug,aquamarine::actor=debug,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
90-
,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
91-
WASM_LOG: "info"
18+
# fluence-2:
19+
# image: fluencelabs/fluence:$BRANCH
20+
# restart: always
21+
# ports:
22+
# - "7002:7002" # Node service
23+
# - "9002:9002" # Peer service
24+
# command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7002 -w 9002"
25+
# volumes:
26+
# - fluence-2:/.fluence
27+
# environment:
28+
# RUST_BACKTRACE: "full"
29+
# RUST_LOG: "info,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
30+
#,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
31+
# WASM_LOG: "info"
32+
#
33+
# fluence-3:
34+
# image: fluencelabs/fluence:$BRANCH
35+
# restart: always
36+
# ports:
37+
# - "7003:7003" # Node service
38+
# - "9003:9003" # Peer service
39+
# command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7003 -w 9003"
40+
# volumes:
41+
# - fluence-3:/.fluence
42+
# environment:
43+
# RUST_BACKTRACE: "full"
44+
# RUST_LOG: "info,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
45+
#,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
46+
# WASM_LOG: "info"
47+
#
48+
# fluence-4:
49+
# image: fluencelabs/fluence:$BRANCH
50+
# restart: always
51+
# ports:
52+
# - "7004:7004" # Node service
53+
# - "9004:9004" # Peer service
54+
# command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7004 -w 9004"
55+
# volumes:
56+
# - fluence-4:/.fluence
57+
# environment:
58+
# RUST_BACKTRACE: "full"
59+
# RUST_LOG: "info,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
60+
#,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
61+
# WASM_LOG: "info"
62+
#
63+
# fluence-5:
64+
# image: fluencelabs/fluence:$BRANCH
65+
# restart: always
66+
# ports:
67+
# - "7005:7005" # Node service
68+
# - "9005:9005" # Peer service
69+
# command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7005 -w 9005"
70+
# volumes:
71+
# - fluence-5:/.fluence
72+
# environment:
73+
# RUST_BACKTRACE: "full"
74+
# RUST_LOG: "info,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
75+
#,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
76+
# WASM_LOG: "info"
77+
#
78+
# fluence-6:
79+
# image: fluencelabs/fluence:$BRANCH
80+
# restart: always
81+
# ports:
82+
# - "7006:7006" # Node service
83+
# - "9006:9006" # Peer service
84+
# command: "-c /Config.toml -k /node.key -b $BOOTSTRAP -x $HOST -t 7006 -w 9006"
85+
# volumes:
86+
# - fluence-6:/.fluence
87+
# environment:
88+
# RUST_BACKTRACE: "full"
89+
# RUST_LOG: "info,aquamarine=info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info
90+
# ,cranelift_codegen=info,wasmer_wasi=info,async_io=info,polling=info,wasmer_interface_types_fl=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
91+
# WASM_LOG: "info"
9292

9393
volumes:
9494
fluence-1:
95-
fluence-2:
96-
fluence-3:
97-
fluence-4:
98-
fluence-5:
99-
fluence-6:
95+
# fluence-2:
96+
# fluence-3:
97+
# fluence-4:
98+
# fluence-5:
99+
# fluence-6:

deploy/fluence_bootstrap.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ services:
1212
- fluence_bootstrap:/.fluence
1313
environment:
1414
RUST_BACKTRACE: "full"
15-
RUST_LOG: "debug,aquamarine::actor=debug,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
15+
RUST_LOG: "info,aquamarine::actor=info,tokio_threadpool=info,tokio_reactor=info,mio=info,tokio_io=info,soketto=info,yamux=info,multistream_select=info,libp2p_secio=info,libp2p_websocket::framed=info,libp2p_ping=info,libp2p_core::upgrade::apply=info,libp2p_kad::kbucket=info,cranelift_codegen=info,wasmer_wasi=info,libp2p_mplex=info,libp2p_identify=info,walrus=info"
1616
WASM_LOG: "info"
1717

1818
volumes:

particle-node/src/main.rs

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,21 @@ fn main() -> anyhow::Result<()> {
5050
// TODO: maybe set log level via flag?
5151
env_logger::builder().format_timestamp_micros().init();
5252

53+
log::info!(
54+
r#"
55+
+--------------------------------------------+
56+
| Hello from Fluence Team. |
57+
| If you encounter any troubles with |
58+
| node operation, please update the node |
59+
| via |
60+
| docker pull fluencelabs/fluence:latest |
61+
| |
62+
| or contact us at |
63+
| github.com/fluencelabs/fluence/discussions |
64+
+--------------------------------------------+
65+
"#
66+
);
67+
5368
let arg_matches = App::new("Fluence protocol server")
5469
.version(VERSION)
5570
.author(AUTHORS)

particle-node/src/network_api.rs

Lines changed: 7 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -77,23 +77,12 @@ impl NetworkApi {
7777
self.connectivity.clone()
7878
}
7979

80-
pub async fn connect_bootstraps(pool: ConnectionPoolApi, bootstrap_nodes: HashSet<Multiaddr>) {
81-
stream::iter(bootstrap_nodes.clone())
82-
.for_each_concurrent(None, |addr| {
83-
let cp = pool.clone();
84-
async move {
85-
if let Some(contact) = cp.dial(addr).await {
86-
log::info!("Connected to bootstrap {}", contact)
87-
}
88-
}
89-
})
90-
.await;
91-
}
92-
80+
/// Dial bootstraps, and then re-dial on each disconnection
9381
pub async fn reconnect_bootstraps(
9482
pool: ConnectionPoolApi,
9583
bootstrap_nodes: HashSet<Multiaddr>,
9684
) {
85+
let bootstraps = iter(bootstrap_nodes.clone().into_iter().collect::<Vec<_>>());
9786
let events = pool.lifecycle_events();
9887
let disconnections = {
9988
events
@@ -117,18 +106,19 @@ impl NetworkApi {
117106
let reconnect = move |pool: ConnectionPoolApi, addr: Multiaddr| async move {
118107
let mut delay = Duration::from_secs(0);
119108
loop {
120-
if pool.dial(addr.clone()).await.is_some() {
121-
log::info!("bootstrap reconnected");
109+
if let Some(contact) = pool.dial(addr.clone()).await {
110+
log::info!("Connected bootstrap {}", contact);
122111
break;
123112
}
124113

125114
delay = min(delay + delta, max);
126-
log::info!("can't connect to bootstrap (pause for {})", pretty(delay));
115+
log::info!("can't connect bootstrap {} (pause {})", addr, pretty(delay));
127116
sleep(delay).await;
128117
}
129118
};
130119

131-
disconnections
120+
bootstraps
121+
.chain(disconnections)
132122
.for_each_concurrent(None, |addr| reconnect(pool.clone(), addr))
133123
.await;
134124
}
@@ -151,10 +141,6 @@ impl NetworkApi {
151141
} = self;
152142

153143
let pool = connectivity.connection_pool.clone();
154-
spawn(Self::connect_bootstraps(
155-
pool.clone(),
156-
bootstrap_nodes.clone(),
157-
));
158144
spawn(Self::reconnect_bootstraps(pool, bootstrap_nodes));
159145

160146
particle_stream

particle-node/tests/script_storage.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
use test_utils::{make_swarms, ConnectedClient};
17+
use test_utils::{enable_logs, make_swarms, ConnectedClient};
1818

1919
use fstrings::f;
2020
use maplit::hashmap;
@@ -51,6 +51,8 @@ fn stream_hello() {
5151

5252
#[test]
5353
fn remove_script() {
54+
enable_logs();
55+
5456
let swarms = make_swarms(1);
5557

5658
let mut client = ConnectedClient::connect_to(swarms[0].1.clone()).expect("connect client");
@@ -226,6 +228,8 @@ fn autoremove_failed() {
226228

227229
#[test]
228230
fn remove_script_unauth() {
231+
enable_logs();
232+
229233
let swarms = make_swarms(1);
230234

231235
let mut client = ConnectedClient::connect_to(swarms[0].1.clone()).expect("connect client");

0 commit comments

Comments
 (0)