meztez / plumberDeploy

Other
53 stars 13 forks source link

do_provision fails #38

Open precipios opened 2 years ago

precipios commented 2 years ago

System details

Output of sessioninfo::session_info()():

R version 4.2.1 (2022-06-23 ucrt)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.utf8  LC_CTYPE=English_United States.utf8    LC_MONETARY=English_United States.utf8
[4] LC_NUMERIC=C                           LC_TIME=English_United States.utf8    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] plumberDeploy_0.2.1.10000 plumber_1.2.1.9000       

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.9        ssh_0.8.0         later_1.3.0       R6_2.5.1          lifecycle_1.0.2   jsonlite_1.8.0    magrittr_2.0.3   
 [8] credentials_1.3.2 httr_1.4.4        stringi_1.7.8     cli_3.3.0         rlang_1.0.5       swagger_3.33.1    curl_4.3.2       
[15] rstudioapi_0.13   remotes_2.4.2     promises_1.2.0.1  webutils_1.1      tools_4.2.1       analogsea_1.0.6   yaml_2.3.5       
[22] compiler_4.2.1    askpass_1.1       openssl_2.0.2  

Example application or steps to reproduce the problem

# Minimal, self-contained example API code goes here
id_droplet_dev <- plumberDeploy::do_provision(unstable=TRUE)

Describe the problem in detail

The do_provision command worked once today, but failed many times before and after the successful run. It appears to get stuck on a file lock. The droplet is created, but the configuration is not completed. It fails within the first minute, before assigning the droplet to the variable. I manually delete the droplet each time it fails. I don't know why it worked once, but I cannot get it to work again. Any insights will be appreciated.

id_droplet_dev <- plumberDeploy::do_provision(unstable=TRUE) THIS ACTION COSTS YOU MONEY! Provisioning a new server for which you will get a bill from DigitalOcean. Using default ssh keys: id_rsa NB: This costs $0.00893 / hour until you droplet_delete() it Waiting for create .................................... New server key: 92:01:d4:1a:d0:5e:c7:75:5d:0d:bc:2a:65:54:cb:23:12:5c:1c:f5 2 C:\Users\dave\AppData\Local\Temp\RtmpGslfC1/atPTPxvLXp

Setting up swapspace version 1, size = 4 GiB (4294963200 bytes) no label, UUID=148b943d-d3f3-49ca-ba03-63b0f6968bed W: --force-yes is deprecated, use one of the options starting with --allow instead. E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 1508 (apt-get) E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it? Error: ssh failed sudo apt-get install -y --force-yes dirmngr gnupg apt-transport-https ca-certificates software-properties-common In addition: Warning messages: 1: 'analogsea::debian_add_swap' is deprecated. Use 'ubuntu_add_swap' instead. See help("Deprecated") 2: 'analogsea::debian_apt_get_install' is deprecated. Use 'debian_apt_get_install' instead. See help("Deprecated")

saudiwin commented 1 year ago

I've had the same error. I installed the package from Github, and it now works fine, so it must be fixed in the codebase.

ncullen93 commented 1 year ago

I've installed the package from github and get the same error:

W: --force-yes is deprecated, use one of the options starting with --allow instead.
E: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 1820 (apt-get)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is another process using it?
Error: ssh failed
sudo apt-get install -y --force-yes dirmngr gnupg apt-transport-https ca-certificates software-properties-common
In addition: Warning messages:
1: 'analogsea::debian_add_swap' is deprecated.
Use 'ubuntu_add_swap' instead.
See help("Deprecated") 
2: 'analogsea::debian_apt_get_install' is deprecated.
Use 'debian_apt_get_install' instead.
See help("Deprecated") 
meztez commented 1 year ago

Are you using analogsea from github? I know it moved their default ubuntu version to 22. I could update github version, and then require an analogsea version.

ncullen93 commented 1 year ago

The latest CRAN version I believe for analogsea - 1.0.7.2. I will try to mess around and see if I can fix it but if you know it will work with an earlier analogsea version then that would also be nice.

meztez commented 1 year ago

I dont know. I think this package would need more love for it to be robust enough to support multiple deployment scenarios. You can keep the same version but specify an earlier version of ubuntu like 18. At this point it is getting old, we are almost to 24.