Closed therobyouknow closed 2 years ago
Sorry to read that.
While I try to reproduce tomorrow, can you retry without jenkins? Asking No, I mean. You can retry later enabling jenkins.
I recommend to run the generator in other directory different than ala-install.
Should be fixed (I hope). Update it with:
npm install -g generator-living-atlas
This is the .yo-rc.json
generated:
dot-yo-rc.json.txt
If you want to not re-play all the questions again, just cp to .yo-rc.json
in some directory and write yo living-atlas --replay-dont-ask
or yo living-atlas --replay
in that directory.
Sorry again.
I think that this is solved, right?
BTW, I just published a new version of this generator and of the la-toolkit with pipelines support: https://github.com/living-atlases/la-toolkit/releases/tag/v1.3.0
I think that this is solved, right?
having a look now, will follow up later today @vjrj to confirm either way, thank you
Yes @vjrj I got further. Looks like the setup process complete - see terminal log output below. What would be the next step?
As per terminal log, I downloaded and renamed your dot-yo-rc.json.txt file and moved it into the same folder that I run the yo
command(s) from. Can we assume that this is the definitive consistent place to put such a file? My guess though it recursively finds the file if we can put it "in some directory" - I'd prefer the same place for it everytime though!
After I copying and renaming the above file I then ran yo living-atlas --replay
successfully (but not yo living-atlas --replay-dont-ask
- which gave an error). So I attempted to proceed with yo living-atlas --replay
- it asks all the questions but they are pre-filled in from my previous answers, presumably from the dot-yo-rc.json.txt
you provided.
It then proceeded further than last time and so I am now wondering if Living Atlas is up and running on my machine somewhere! So I attempted to point the pretend domain 'nbm-england.org' I used, at my machine, by editing /etc/hosts
see logs below as to what I attempted.
Should I do something different to what I did in my /etc/hosts file, to see the site running on my machine? I've lost my bearings a bit with the documentation: there are multiple places to look and I'm not sure yet how they join up. I looked on https://github.com/living-atlases/generator-living-atlas where this github issue is raised but don't see any such advice there.
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ yo living-atlas --replay-dont-ask
Error: We cannot replay without a previous configuration
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ ls -al
total 12
drwxr-xr-x 3 robd domain users 4096 Oct 27 22:41 .
drwxr-xr-x 4 robd domain users 4096 Oct 27 22:41 ..
drwxr-xr-x 3 robd domain users 4096 Oct 27 22:41 sites
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ mv ~/Downloads/
backdrop/ drivers/ node-v16.13.0-linux-x64 (1).tar.xz vagrant_2.0.4_x86_64.deb
backdrop (1)/ lexicon-7.x-1.10.zip node-v16.13.0-linux-x64.tar.xz
backdrop.zip lexicon-7.x-1.x-dev.zip node-v16.13.0.tar.gz
dot-yo-rc.json.txt node/ software/
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ mv ~/Downloads/dot-yo-rc.json.txt .
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ mv dot-yo-rc.json.txt .yo-rc.json
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ ls
sites
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ ls -al
total 16
drwxr-xr-x 3 robd domain users 4096 Nov 1 17:45 .
drwxr-xr-x 4 robd domain users 4096 Oct 27 22:41 ..
drwxr-xr-x 3 robd domain users 4096 Oct 27 22:41 sites
-rw-r--r-- 1 robd domain users 3701 Nov 1 17:44 .yo-rc.json
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ yo living-atlas --replay
/
///
////
////////////
//// /// //
//// /// /////
/// /// //// //
/// // /// //
//// /// ///
//// //// /// .--------------------------.
/// /// //// | Welcome to the Living |
/// /// ///// | Atlas Quick-Start |
// /// ///// // | Ansible Generator |
// ////////// /// '--------------------------'
////// ///
//////// //////
/// /////////
? Your LA Project Long Name: (NBN England)
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ # did a ctrl-c to now try yo living-atlas --replay-dont-ask
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ yo living-atlas --replay-dont-ask
/
///
////
////////////
//// /// //
//// /// /////
/// /// //// //
/// // /// //
//// /// ///
//// //// /// .--------------------------.
/// /// //// | Welcome to the Living |
/// /// ///// | Atlas Quick-Start |
// /// ///// // | Ansible Generator |
// ////////// /// '--------------------------'
////// ///
//////// //////
/// /////////
Important: We'll create an admin user with email: support@nbn-england.org and password: granaryrigidlydeltic
To create a different one modify this in: nbn-england-inventories/nbn-england-local-passwords.ini
prior to deploy the CAS auth system.
Error living-atlas --replay-dont-ask
/home/robd/.npm-packages/lib/node_modules/generator-living-atlas/generators/app/templates/quick-start-inventory.ini:1201
1199| # FIXME
1200| solr_num_of_partitions = 3
>> 1201| zk_host=<%- LA_groups_and_servers['zookeeper'].map(i => `${i}:2181`).join(',') %>
1202| collectory_url = <%= LA_urls_prefix %><%= LA_collectory_url %><%= LA_collectory_path %>/ws/
1203| image_service_url = <%= LA_urls_prefix %><%= LA_images_url %><%= LA_images_path %>
1204| vocabulary_dir = /pipelines-vocabularies
Cannot read properties of undefined (reading 'map')
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ yo living-atlas --replay
/
///
////
////////////
//// /// //
//// /// /////
/// /// //// //
/// // /// //
//// /// ///
//// //// /// .--------------------------.
/// /// //// | Welcome to the Living |
/// /// ///// | Atlas Quick-Start |
// /// ///// // | Ansible Generator |
// ////////// /// '--------------------------'
////// ///
//////// //////
/// /////////
? Your LA Project Long Name: NBN England
? Your LA Project Shortname: NBN England
? Your LA short-lowercase-name (we'll put your inventories in that directory): nbn-england
? What is your LA node main domain? nbn-england.org
? Names of the servers you will use (comma or space separated) vm1, vm2, vm3
? Use species service? Yes
? Use specieslists service? Yes
? Use images service? Yes
? Use spatial service? Yes
? Use regions service? Yes
? Use webapi an API documentation service (similar to api.ala.org.au but empty)? Yes
? Use dashboard view stats service (similar to dashboard.ala.org.au)? Yes
? Use alerts service? Yes
? Use doi service? Yes
? Use sds sensitive data service (similar to sds.ala.org.au)? Yes
? Use CAS Auth service? Yes
? Use biocache-store backend for data ingestion? (now replaced by pipelines) Yes
? Use pipelines backend for data ingestion? (biocache-store replacement) Yes
? Use jenkins with pipelines? Yes
? Use solrcloud cluster instead of a single solr server standalone Yes
? Enable SSL? Yes
? Will the collectory service use a https://subdomain.nbn-england.org or a https://nbn-england.org/service-path ? subdomain
? LA collectory hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA collectory base url ? collections.nbn-england.org
? Which context /path you wanna use for this service (like collections.nbn-england.org/) ? /
? Will the ala_hub module (occurrences search frontend) use a https://subdomain.nbn-england.org or not? Yes
? LA ala_hub hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA ala_hub base url ? records.nbn-england.org
? Which context /path you wanna use for this service (like records.nbn-england.org/) ? /
? Will the biocache_service module (occurrences web service) use a https://subdomain.nbn-england.org or not? Yes
? LA biocache_service hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA biocache_service base url ? records-ws.nbn-england.org
? Which context /path you wanna use for this service (like records-ws.nbn-england.org/) ? /
? Will the ala_bie module (species search frontend) use a https://subdomain.nbn-england.org or not? Yes
? LA ala_bie hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA ala_bie base url ? species.nbn-england.org
? Which context /path you wanna use for this service (like species.nbn-england.org/) ? /
? Will the bie_index module (species web service) use a https://subdomain.nbn-england.org or not? Yes
? LA bie_index hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA bie_index base url ? species-ws.nbn-england.org
? Which context /path you wanna use for this service (like species-ws.nbn-england.org/) ? /
? Will the images module use a https://subdomain.nbn-england.org or not? Yes
? LA images hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA images base url ? images.nbn-england.org
? Which context /path you wanna use for this service (like images.nbn-england.org/) ? /
? Will the lists module use a https://subdomain.nbn-england.org or not? Yes
? LA lists hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA lists base url ? lists.nbn-england.org
? Which context /path you wanna use for this service (like lists.nbn-england.org/) ? /
? Will the regions module (regional data frontend) use a https://subdomain.nbn-england.org or not? Yes
? LA regions hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA regions base url ? regions.nbn-england.org
? Which context /path you wanna use for this service (like regions.nbn-england.org/) ? /
? Will the logger module (event logging) use a https://subdomain.nbn-england.org or not? Yes
? LA logger hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA logger base url ? logger.nbn-england.org
? Which context /path you wanna use for this service (like logger.nbn-england.org/) ? /
? Will the webapi module (API front-end) use a https://subdomain.nbn-england.org or not? Yes
? LA webapi hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA webapi base url ? api.nbn-england.org
? Which context /path you wanna use for this service (like api.nbn-england.org/) ? /
? Will the dashboard module (dashboard) use a https://subdomain.nbn-england.org or not? Yes
? LA dashboard hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA dashboard base url ? dashboard.nbn-england.org
? Which context /path you wanna use for this service (like dashboard.nbn-england.org/) ? /
? Will the alerts module (alerts) use a https://subdomain.nbn-england.org or not? Yes
? LA alerts hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA alerts base url ? alerts.nbn-england.org
? Which context /path you wanna use for this service (like alerts.nbn-england.org/) ? /
? Will the doi module (DOI service) use a https://subdomain.nbn-england.org or not? Yes
? LA doi hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA doi base url ? doi.nbn-england.org
? Which context /path you wanna use for this service (like doi.nbn-england.org/) ? /
? Will the sds module (Sensitive Data Service) use a https://subdomain.nbn-england.org or not? Yes
? LA sds hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA sds base url ? sds.nbn-england.org
? Which context /path you wanna use for this service (like sds.nbn-england.org/) ? /
? Will the solr module (species and/or biocache-store indexing) use a https://subdomain.nbn-england.org or not? Yes
? LA solr hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA solr base url ? index.nbn-england.org
? Which context /path you wanna use for this service (like index.nbn-england.org/) ? /
? LA solrcloud hostname (like myvm1, somehost.amazonaws.com, ...) ? (Press <space> to select, <a> to toggle all, <i> to invert selection, and <enter> to proceed)
? LA solrcloud hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1, vm2, vm3
? LA zookeeper hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1, vm2, vm3
? LA cas hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA cas base url ? auth.nbn-england.org
? LA biocache_backend hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1, vm2, vm3
? LA pipelines hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1, vm2, vm3
? pipelines cluster master: vm1
? LA spatial hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1
? LA spatial base url ? spatial.nbn-england.org
? Will the branding module (LA branding (header and footer theme)) use a https://subdomain.nbn-england.org or not? Yes
? LA branding hostname (like myvm1, somehost.amazonaws.com, ...) ? vm1, vm2, vm3
? LA branding base url ? branding.nbn-england.org
? Which context /path you wanna use for this service (like branding.nbn-england.org/) ? /
? Do you want to generate also a sample compatible LA branding? (Recommended to start, later you can improve it with your site style) Yes
? Use git in your generated inventories to track their changes? (Very recommended) Yes
Important: We'll create an admin user with email: support@nbn-england.org and password: uneasyprobedchemosensitive
To create a different one modify this in: nbn-england-inventories/nbn-england-local-passwords.ini
prior to deploy the CAS auth system.
INFO: Generating a sample branding in 'nbn-england-branding' directory. Please wait
INFO: Do a "git submodule update --init --recursive --depth=1" in 'nbn-england-branding' directory later
force ../../../.yo-rc-global.json
force .yo-rc.json
create README.md
create nbn-england-inventories/README.md
create nbn-england-inventories/dot-ssh-config
create nbn-england-inventories/nbn-england-local-passwords.ini
create nbn-england-inventories/nbn-england-local-extras.ini
create nbn-england-inventories/nbn-england-local-extras.sample
create nbn-england-inventories/nbn-england-inventory.ini
create nbn-england-branding/deploy.sh
create nbn-england-branding/app/js/settings.js
create nbn-england-pre-deploy/README.md
create nbn-england-pre-deploy/inventory.yml
create nbn-england-pre-deploy/pre-deploy.yml
create nbn-england-pre-deploy/requirements.yml
create nbn-england-pre-deploy/roles/pre_deploy/files/check_mongodb.py
create nbn-england-pre-deploy/roles/pre_deploy/handlers/main.yml
create nbn-england-pre-deploy/roles/pre_deploy/tasks/main.yml
create nbn-england-pre-deploy/roles/pre_deploy/vars/vars.yml
create nbn-england-pre-deploy/roles/solr_pre_deploy/files/check_mongodb.py
create nbn-england-pre-deploy/roles/solr_pre_deploy/handlers/main.yml
create nbn-england-pre-deploy/roles/solr_pre_deploy/tasks/main.yml
create nbn-england-pre-deploy/roles/solr_pre_deploy/vars/vars.yml
create nbn-england-post-deploy/README.md
create nbn-england-post-deploy/inventory.yml
create nbn-england-post-deploy/post-deploy.yml
create nbn-england-post-deploy/requirements.yml
create nbn-england-post-deploy/roles/post_deploy/handlers/main.yml
create nbn-england-post-deploy/roles/post_deploy/tasks/main.yml
create nbn-england-post-deploy/roles/post_deploy/vars/vars.yml
create nbn-england-inventories/ansiblew
No change to package.json was detected. No package manager install will be executed.
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ cat /etc/hosts
127.0.0.1 localhost scratchpads-dev.ddev.site scratchpads-ddev-combi.ddev.site tryddevproject-25339.ddev.site drupal-7.78.ddev.site
127.0.1.1 nhm-b3zj7y2-lnx
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ sudo vi /etc/hosts
[sudo] password for robd:
Sorry, try again.
[sudo] password for robd:
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$ cat /etc/hosts
127.0.0.1 localhost scratchpads-dev.ddev.site scratchpads-ddev-combi.ddev.site tryddevproject-25339.ddev.site drupal-7.78.ddev.site
127.0.1.1 nhm-b3zj7y2-lnx
127.0.1.1 nbn-england.org
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
robd@nhm-b3zj7y2-lnx:~/Work/projects/living-atlas$
Hi @therobyouknow thanks for the feedback.
This repo generates only some up-to-date ansible inventories to use with ala-install to deploy to some testing or production VMs. It generates also a ansible wrapper (ansiblew
) to use that inventories, among other things.
To save time, I strongly recommend to have a look to the la-toolkit
(you can import your .yo-rc.json
) that uses the generator also under the hood. It's full of checks, recomendations and contextual help. This is like an "installer" and a maintainer of a LA portal:
https://github.com/living-atlases/la-toolkit
a non functional demo:
https://toolkit-demo.l-a.site/
and some presentation with screencast and motivations:
https://datos.gbif.es/others/la-toolkit-gbif-presentation-2021.html
Hope it helps.
PS: About the error, yes, I added today zookeeper support that causes this (I'll not use that maps in new releases)
https://github.com/living-atlases/generator-living-atlas/blob/master/CHANGELOG.md
But now --replay-dont-ask
should work if you generated the inventories for the first time.
Thank you @vjrj !
I was hoping that after following the steps, finally with some success, above: https://github.com/living-atlases/generator-living-atlas/issues/19#issuecomment-956458206 that then I'd actually have some kind of initial living atlas website running on my local personal machine.
But from your last comment, it seems like there are further steps. Which also leads me to ask myself: "what have I actually done, or setup, in the steps I've done, if it's not making an initial living atlas website?!" I am sure that I don't need to worry - that I will find out eventually!
Moreover, it is a bit of a challenge to know where to start and then where one is: I started off on repo ala-install and was then advised to come here, repo generator-living-atlas and now the suggestion is to go to a third repo: la-toolkit haha!
Should I have gone straight to la-toolkit ? Does la-toolkit need anything I've setup with generator-living-atlas as a pre-requisite?
However, thank you very much for the information you have provided in your comment, I will look at the slides: they may well help to answer my above questions. Though on initial browsing, it seems the slides don't have much information on how to get the locally hosted site running on a development machine.
I hope to be part of the solution. I think I've got a good record contributing documentation and howto's, so I hope to help with the documentation. Thanks again!
Sorry I missed totally this comment. I was a bit sick these days.
To have a LA portal personal computer maybe is too much, well you can use some service but not many, at least you have enough resources.
The la-toolkit
tries to create a LA environment for initial deploy and maintenance of a test or production LA portal with all the deps (ala-install, the generator, and so on).
It's like a ala-install & generator modern frontend to help with all the common tasks of a LA Portal setup and maintenance. You can import previously generated inventories and keep in sync with new ala-install and deps updates.
Hope it helps this delayed comment.
Hi @therobyouknow I think that I found and I fix why this was falling for you during some tests. I do many verifications in the la-toolkit that I cannot do with the command line.
Also you should take into account that pipelines requires sorlcloud to work properly.
Can you use a recent version of the generator or the la-toolkit? thanks
Issue
Generator Information:
.yo-rc.json
with your prompt responses: ¹prompt responses as below:
I don't have a
.yo-rc.json
and I've searched the files for it:Your computer:
Operating System where you are using the generator:
node
version: $ node -v v16.13.0npm
version:$ npm -v 8.1.0
Deployment issues
If the generated inventories failed to deploy, give us details of:
your number of VM instances As per prompt answers above - between 1 and 3 but I don't think the script got far enough to provision them.
operating system and version l$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.3 LTS Release: 20.04 Codename: focal
other related relevant information
32Gb Dell notebook, hexacore i7
66Gb SSD available
Problem description: Error as per title:
Cannot read properties of undefined (reading 'map')
Had raised it earlier and was advised of new steps here: https://github.com/AtlasOfLivingAustralia/ala-install/issues/516#issuecomment-953679775
Expected behavior and what happened instead: ¹ Script didn't proceed due to above error. Expecting script to complete and have Living Atlas running on my laptop.
Logs. If logs are very long, attach them in .zip file or use a paste service: ¹ Provided in line above.
Thank you.
¹ Required