Dear Balena,
congratulations to new name and exciting new features
including ability to run self-hosted infra.
I have jumped on Getting started guide for openBalena
and I have done full setup server and client
side on Internet reachable VPS with proper DNS.
I hit now two issues and not sure about troubleshooting approach:
ISSUE1
device (RPi Zero W) was able to reach server and register under my app, however even if RPi does not blink led, is connected, “balena devices” report my new device offline. Not really sure how to proceed finding why…
What would be troubleshooting commands and logs to use?
I am building my app used already with openCloud (so tested build process), however local build and deployment via “balena deploy myapp --logs --source .” fails with some API error:
I am using last balena CLI pointed correctly to my openBalena URL.
[Info] Everything is up to date (use --build to force a rebuild)
[Info] Creating release…
[Error] Deploy failed
Error
Cannot GET /v4/user(2)
If you need help, don’t hesitate in contacting us at:
Regarding the issues you’re seeing – the devices appearing offline is a known issue we’re currently investigating. That Cannot GET /v4/user(2) is unexpected though – it seems as if some CLI dependency was not updated. How did you install balena-cli? Is it a new install or an update?
balena-cli@9.0.0 installed fresh this morning per getting started instructions - fresh install. There used to be resin-cli however, that remains in parallel. Both npm installed globally. Will try to remove both and install only latest balena-cli.
removed both resin-cli and balena-cli and reinstalled balena.
problem remains, but with other API call
[Info] Everything is up to date (use --build to force a rebuild)
[Info] Creating release…
[Error] Deploy failed
Error
Cannot GET /v4/application(1)
balena apps
balena devices
work for me
just release creation process on openBalena after sucessful build fails as above
Many thanks for great idea to form future Balena customers on self-hosted Balena.
So I understand that not much I can do for now until issue is addressed in balena-cli or openBalena code?
Did I understand correctly that v5 API should be called by CLI in case of openBalena - which is why request from CLI to self-hosted server fails?
I am staying tuned
Good luck - especially in challenging time around renaming services, DNS, in code - not a simple project
@mko the CLI issue you were seeing should have now been fixed. Can you please completely remove and reinstall balena-cli? We’ll hopefully also be able to resolve the devices showing offline issue by the end of this week. Thanks for reaching out!
$ balena deploy myFirstApp --logs --source . --emulated
[Info] Creating default composition with source: /Users/donfmorrison/Source/sense-snake
[Error] Deploy failed
Part of the CLI could not be loaded. This typically means your CLI install is in a broken state.
You can normally fix this by uninstalling and reinstalling the CLI.
...
I tried removing both balena-cli and old version of resin-cli. I was unable to install balena-cli using npm thus why I’m using the standalone binary per the instructions here: https://github.com/balena-io/balena-cli#standalone-install
Hello @donfmorrison – the issue with devices appearing offline is in balenaOS and I expect it will be fixed on the next release in the coming week or the next.
We’re looking into the error you see with the standalone binary – being standalone it should contain all its dependencies and getting this error should not be possible, unless the build is broken. We’re looking into this.
What was the error you had with installing with npm?
Also, here is the output of my latest npm install from tonight (9.1.2) - seems like it might have installed ok this time. Results of the build above were using the standalone release, just to be clear.
$ sudo npm install balena-cli -g --production --unsafe-perm
Password:
npm WARN deprecated graceful-fs@3.0.11: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
npm WARN deprecated graceful-fs@1.2.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
/usr/local/bin/balena -> /usr/local/lib/node_modules/balena-cli/bin/balena
> drivelist@5.2.12 install /usr/local/lib/node_modules/balena-cli/node_modules/drivelist
> prebuild-install || node-gyp rebuild
prebuild-install WARN install EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/balena-cli/node_modules/drivelist/build/Release'
CXX(target) Release/obj.target/drivelist/src/code.o
CXX(target) Release/obj.target/drivelist/src/log.o
SOLINK_MODULE(target) Release/drivelist.node
> ext2fs@1.0.7 install /usr/local/lib/node_modules/balena-cli/node_modules/ext2fs
> prebuild-install || node-gyp rebuild
prebuild-install WARN install EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/balena-cli/node_modules/ext2fs/build/Release'
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/alloc.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/alloc_sb.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/alloc_stats.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/alloc_tables.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/atexit.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/badblocks.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/bb_compat.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/bb_inode.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/bitmaps.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/bitops.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/blkmap64_ba.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/blkmap64_rb.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/blknum.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/block.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/bmap.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/check_desc.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/closefs.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/crc16.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/crc32c.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/csum.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/dblist.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/dblist_dir.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/dirblock.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/dirhash.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/dir_iterate.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/dupfs.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/expanddir.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/ext_attr.o
../deps/e2fsprogs/lib/ext2fs/ext_attr.c:739:17: warning: comparison of integers of different signs: 'const int' and
'unsigned long' [-Wsign-compare]
inode_size <= EXT2_GOOD_OLD_INODE_SIZE + inode->i_extra_isize +
~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/e2fsprogs/lib/ext2fs/ext_attr.c:976:16: warning: comparison of integers of different signs: 'size_t'
(aka 'unsigned long') and 'int' [-Wsign-compare]
for (i = 0; i < h->capacity; i++) {
~ ^ ~~~~~~~~~~~
2 warnings generated.
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/extent.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/fallocate.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/fileio.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/finddev.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/flushb.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/freefs.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/gen_bitmap64.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/gen_bitmap.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/get_num_dirs.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/get_pathname.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/getsectsize.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/getsize.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/i_block.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/icount.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/imager.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/ind_block.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/initialize.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/inline.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/inline_data.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/inode.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/io_manager.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/ismounted.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/link.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/llseek.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/lookup.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/mkdir.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/mkjournal.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/mmp.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/namei.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/native.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/newdir.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/openfs.o
../deps/e2fsprogs/lib/ext2fs/openfs.c:310:18: warning: comparison of integers of different signs: 'int' and 'unsigned int'
[-Wsign-compare]
(inode_size > fs->blocksize) ||
~~~~~~~~~~ ^ ~~~~~~~~~~~~~
1 warning generated.
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/progress.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/punch.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/qcow2.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/rbtree.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/read_bb.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/read_bb_file.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/res_gdt.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/rw_bitmaps.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/sha512.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/swapfs.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/symlink.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/tdb.o
../deps/e2fsprogs/lib/ext2fs/tdb.c:415:13: warning: comparison of integers of different signs: 'int' and 'unsigned int'
[-Wsign-compare]
(ltype == tdb->global_lock.ltype || ltype == F_RDLCK)) {
~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~
../deps/e2fsprogs/lib/ext2fs/tdb.c:510:13: warning: comparison of integers of different signs: 'int' and 'unsigned int'
[-Wsign-compare]
(ltype == tdb->global_lock.ltype || ltype == F_RDLCK)) {
~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~
../deps/e2fsprogs/lib/ext2fs/tdb.c:631:55: warning: comparison of integers of different signs: 'unsigned int' and 'int'
[-Wsign-compare]
if (tdb->global_lock.count && tdb->global_lock.ltype == ltype) {
~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
../deps/e2fsprogs/lib/ext2fs/tdb.c:675:29: warning: comparison of integers of different signs: 'unsigned int' and 'int'
[-Wsign-compare]
if (tdb->global_lock.ltype != ltype || tdb->global_lock.count == 0) {
~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~
../deps/e2fsprogs/lib/ext2fs/tdb.c:858:17: warning: comparison of integers of different signs: 'off_t' (aka 'long long') and
'size_t' (aka 'unsigned long') [-Wsign-compare]
if (st.st_size < (size_t)len) {
~~~~~~~~~~ ^ ~~~~~~~~~~~
../deps/e2fsprogs/lib/ext2fs/tdb.c:3011:12: warning: comparison of integers of different signs: 'int' and 'unsigned int'
[-Wsign-compare]
for (i=0;i<tdb->header.hash_size;i++) {
~^~~~~~~~~~~~~~~~~~~~~~
6 warnings generated.
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/unlink.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/valid_blk.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/version.o
CC(target) Release/obj.target/ext2fs/deps/e2fsprogs/lib/ext2fs/write_bb_file.o
LIBTOOL-STATIC Release/libext2fs.a
CXX(target) Release/obj.target/bindings/src/node_ext2fs.o
../src/node_ext2fs.cc:11:9: warning: 'O_DIRECTORY' macro redefined [-Wmacro-redefined]
#define O_DIRECTORY 0200000
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/sys/fcntl.h:153:9: note:
previous definition is here
#define O_DIRECTORY 0x100000
^
../src/node_ext2fs.cc:203:10: warning: implicit conversion of NULL constant to 'ext2_ino_t' (aka 'unsigned int')
[-Wnull-conversion]
return NULL;
~~~~~~ ^~~~
0
../src/node_ext2fs.cc:256:17: warning: comparison between NULL and non-pointer ('ext2_ino_t' (aka 'unsigned int') and NULL)
[-Wnull-arithmetic]
if (parent_ino == NULL) {
~~~~~~~~~~ ^ ~~~~
../src/node_ext2fs.cc:507:36: warning: implicit conversion of NULL constant to '__u64' (aka 'unsigned long long')
[-Wnull-conversion]
ret = ext2fs_file_llseek(file, NULL, EXT2_SEEK_END, NULL);
~~~~~~~~~~~~~~~~~~ ^~~~
0
../src/node_ext2fs.cc:781:19: warning: comparison between NULL and non-pointer ('ext2_ino_t' (aka 'unsigned int') and NULL)
[-Wnull-arithmetic]
if (parent_ino == NULL) {
~~~~~~~~~~ ^ ~~~~
../src/node_ext2fs.cc:864:12: warning: 'Call' is deprecated [-Wdeprecated-declarations]
callback->Call(2, argv);
^
../../nan/nan.h:1654:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value>
^
../../nan/nan.h:102:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
../src/node_ext2fs.cc:843:7: warning: unused variable 'flags' [-Wunused-variable]
auto flags = get_flags(info);
^
7 warnings generated.
CXX(target) Release/obj.target/bindings/src/async.o
CXX(target) Release/obj.target/bindings/src/js_io.o
../src/js_io.cc:65:14: warning: 'Call' is deprecated [-Wdeprecated-declarations]
request_cb->Call(7, argv);
^
../../nan/nan.h:1654:3: note: 'Call' has been explicitly marked deprecated here
NAN_DEPRECATED inline v8::Local<v8::Value>
^
../../nan/nan.h:102:40: note: expanded from macro 'NAN_DEPRECATED'
# define NAN_DEPRECATED __attribute__((deprecated))
^
In file included from ../src/js_io.cc:4:
../src/ext2fs.h:533:13: warning: unused function 'increment_version' [-Wunused-function]
static void increment_version(struct ext2_inode *inode) {
^
2 warnings generated.
CXX(target) Release/obj.target/bindings/src/bindings.o
SOLINK_MODULE(target) Release/bindings.node
> drivelist@6.4.3 install /usr/local/lib/node_modules/balena-cli/node_modules/resin-cli-visuals/node_modules/drivelist
> prebuild-install || node-gyp rebuild
prebuild-install WARN install EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/balena-cli/node_modules/resin-cli-visuals/node_modules/drivelist/build/Release'
CXX(target) Release/obj.target/drivelist/src/drivelist.o
CXX(target) Release/obj.target/drivelist/src/device-descriptor.o
CXX(target) Release/obj.target/drivelist/src/darwin/list.o
SOLINK_MODULE(target) Release/drivelist.node
> spawn-sync@1.0.15 postinstall /usr/local/lib/node_modules/balena-cli/node_modules/spawn-sync
> node postinstall
npm WARN balena-request@10.0.1 requires a peer of balena-auth@^2.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN resin-register-device@5.0.0 requires a peer of resin-request@^9.0.2 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: removedrive@1.1.2 (node_modules/balena-cli/node_modules/removedrive):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for removedrive@1.1.2: wanted {"os":"win32","arch":"any"} (current: {"os":"darwin","arch":"x64"})
+ balena-cli@9.1.2
added 732 packages from 536 contributors in 63.558s