[WIP] Packman

This is a pass through packman, intended to fix a few areas.
I pulled out the create_chmod_control to its own class as having that mini beast in package.subs was a bit crazy.   Going through that I found a rew rough spots and tried to clean them up while doing the refactor.  This was really 3 functions in one and although in the same sub, were essentially isolated with if/else stuff (meaning there was no shared code anyway)  Now that is in sources/ElkArte/Packages/PackageChmod.php
I also pulled out the parsePackageInfo function to its own class, again this was stuffed in package.subs.   This was one of those heinous massive if/elseif/elseif/elseif ...... constructs.  Moving it to a class allowed the removal of code duplication and other misery,  All of that is now in sources/ElkArte/Packages/PackageParser.php
Lastly I did some updates to the ftp controller which was broken if you wanted a secure connection.  I also moved the chmod logic so it can choose f 775 or 777 is the right thing to do vs if/elseif/maybe this/or that constructs that were in a lot of places.  Now you call it with [755, 775, 777] and it will try each until success or fail (like what is in the file functions class now)
OK so should you wan to test, try some FTP stuff.  I force tested that but I don't have a good, say apache suExec machine to verify on.  Also note the "reset" permissions function is somewhat broken in 1.1 since its on the redirect page, so the page redirects away from the form asking to reset, somewhat harmless, but could annoy some more security minded .
Several other areas affected in order to call the (2) new class functions.  Also MOVED all package functions to their own namespace \ElkArte\Packages as there are several files now.
Up next is to REMOVE the ftp permissions section in the ACP,   This is the one where you can apply, or choose your own, set of permissions to various files.  This function is simply dangerous and we should no longer have that in our product.  If a user needs to 'F' around like that, then they can do it on their own.
So much more can be done with pacman, but I want to move on to another "fun" area 👯   @emanuele45 let me know what you think and feel free to make any changes you want, and if you have a good server to do some FTP chmod testing that would be great.

Codecov Report

Merging #3605 (33f7518) into development (a84c314) will decrease coverage by 7.81%.
The diff coverage is 24.38%.

@@                Coverage Diff                @@
##             development    #3605      +/-   ##
=================================================
- Coverage          30.34%   22.53%   -7.82%
- Complexity         15606    15611       +5
=================================================
  Files                420      397      -23
  Lines              74468    68484    -5984
=================================================
- Hits               22601    15436    -7165
- Misses             51867    53048    +1181

Impacted Files
Coverage Δ

...ources/ElkArte/AdminController/ManageLanguages.php
6.45% <0.00%> (-0.19%)
:arrow_down:

sources/ElkArte/AdminController/ManageThemes.php
0.00% <0.00%> (ø)

sources/ElkArte/Controller/Attachment.php
10.29% <0.00%> (+0.07%)
:arrow_up:

sources/ElkArte/Controller/Auth.php
22.11% <0.00%> (-19.63%)
:arrow_down:

sources/ElkArte/Controller/Search.php
0.00% <0.00%> (ø)

sources/ElkArte/Emoji.php
0.00% <0.00%> (ø)

sources/ElkArte/Http/FtpConnection.php
0.00% <0.00%> (ø)

...ources/ElkArte/Packages/PackagesFilterIterator.php
91.66% <ø> (ø)

sources/ElkArte/SiteDispatcher.php
52.52% <ø> (-29.30%)
:arrow_down:

sources/ElkArte/UnTgz.php
10.94% <0.00%> (ø)

... and 306 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9b4aceb...33f7518. Read the comment docs.

Only reading the comments make my head spin faaaaaaaaaaaaaaaaast! :laughing:
I'll try on a shared and see if makes any difference.

That would be awesome.  I started and stopped on this one several times as I kept getting lost LOL.  My setups are all fpm nginx so I had to force the need for ftp access (the fpm uid/gid is that of each user directory where the files arer)
Anyway, the main goals were to extract / unwind the change_mod_control, extract / unwind the parsePackageInfo bits (test/install) which were somewhat intertwined with that change mod.  Lastly to try and clear up the use of fileFunctions vs ftpControls. so they acted similar to the code and push all the "try 755 no? try 775 no? try 777" logic to a single place vs multiple times throughout the code.

hmm.. little weird.
I installed on a shared hosting, but had troubles because the server reports mysql 5.6.45 so elk didn't want to install (changed the limit and installed LOL).
Then, the files permission page doesn't seem to work, but based on your comments it may not be worth the hassle fixing it. I tried installing a sort of fake package (an easy one I could just hack somehow to maybe install), but at first try it gave me a "some path is not writable" but without details so I just went back hoping to get the same error again, but I didn't and from the second it gives me a "parser error" (see image, if it loads, otherwise https://i.imgur.com/RgRHGLC.png ).

The parse error could be file permissions?  Did it ever ask for FTP credentials?
TBH I don't know what the lower limit might be for the various DB engines'

I attempted to setup an apache / mod-php / suexec so I can try and help debug my mess !  ... I think I have something working correct, not sure, but now I remember why I don't use apache anymore.
PHP is running under www-user:www-user and my forum is under web1:client1 The apache user is also part of the client1 group.  So 755/644 on the forum path work fine but PHP does not have write access and will need some FTP.  Sound right?

The first rather grotesque error (not mine).

When the FTP connection is established getFTPControl(), we determine the FTP root path (assuming here that the FTP user is chrooted, which on shared they should be)
In this setup my web root / BOARDDIR is /var/www/clients/client1/web1/web which is a path construct that a control panel like ispconfig would create, other panels create similar paths.
When I login with FTP I'm chrooted to /var/www/clients/client1/web1 as my root and my path to the forum is /web or at least that is what I entered into the form,  simply web would work also (e.g. CWD web or CWD /web)
The system checks that we can login with FTP, then does a chdir command to check the path and sets an error if its wrong need to test).  It does some auto corrections in case you are using a /home/me/public_html setup from the 80's jk
Next it does a $ftp_root = strtr(BOARDDIR, array($path => '')) using path /web and the result is /var/www/clients/client11 Brilliant! Not only the wrong path but now trying to access another clients path !
Using just web would get you /var/www/clients/client1/1/ equally wrong but at least in your path.

I think it may be best to just do a substr(BOARDDIR, 0, -strlen($path)); If the CWD was successful for $path that would at least get you /var/www/clients/client1/web1/  its important that root path be correct or all FTP commands will fail.

@emanuele45 https://github.com/elkarte/Elkarte/pull/3605/commits/2a941e7855d8973715b550a5c1911d591b2f2b7e is the commit that removes the File Permission change-o-rama from the admin panel,
There was a lot of code in that, PHP/JS/Templates, I think I got it all but not sure.  I wanted to place it all in one commit in the event that you feel strongly that we should keep that function.  As it stood the JS was a bit broken and I feel the function itself was not as secure and well implemented as it should be.  It was/is just more than I wanted to undertake given the real usage of it in the wild.
I made a couple of changes to the other packman functions, seemed to work on my cobbled up install, but I was not able to duplicate the issue you showed.   Also note that the FTP functions are only 100% working with IPV4, some IPV6 (anything that wants to enter passive mode) will fail (mostly silently)

Spuds wrote on 2/27/22 3:36 PM:

The parse error could be file permissions? Did it ever ask for FTP credentials?

 The error was just a file name error. :facepalm:
hmm.. I changed folders permissions to 555 but apparently the addon installed anyway. :thinking:
What would you suggest for testing at that point?

For FTP,  the webserver has to be running under a different user/group than the site files.  If they are the same then standard PHP calls will be able to fix the issue, like that 555 was likely changed to 755.  The FTP route does not reset them nor ask to reset them since that would be senseless.
I was able to do some tests by changing the site files to a different owner id than the web server but with same gid group as the then the web server.  Then setting up an FTP user with that id (jailed to the site file directory), then 755 should fail and require a 775 which that FTP user would be able to do.
I also did some with testing with PHP in old cgi mode which runs under a different uid than the site files.
Anyway the FTP testing is a pain in the rump LOL and I don't think most modern setups really require it (hence the issues with getting a setup to need it)  I don't know if I'd worry to much about it at this point, that old ftp class does not work with ipv6 nor does it properly connect with a sftp server, so its limited and insecure.
I may fix the sftp stuff, I tried fsockopen and streams and could get neither worked, but built in ftp functions did work.   I think we should consider redoing that entire ftp class to just use built in ftp controls, and if your PHP install disabled them simply tell the user to do it on their own.

So I guess we can take the easy path: call it a day and let others test it. If it works for most of the IT industry, it should work here too. :laughing:

Sounds like a plan ... really the next thing is to update the ftp client function which is ipv6 and TLS deficient.


pubsub adapters

Description of the Change
This implements the default pubsub adapter (MemoryAdapter to be used only in development) and the RedisAdpater to be used in production.  The Redis pubsub adapter allow sockets connected on different processes or even different servers to communicate with each other.
Simple UML diagram of this implementation: https://drive.google.com/open?id=0B2kt7nNk4YTSOEx2UGwwckhTZDg
p.s. I am not very good at UML diagrams
Why Should This Be In Core?
Without a websocket pubsub adapter, websocket communication is limited to only one server limiting scalability.
Usage
Inside of the server config block, you can either use the default MemoryAdapter (recommended for development only), or RedisAdapter
app.pubsub_adapter = Amber::WebSockets::Adapters::MemoryAdapter (default)
- or -
app.pubsub_adapter = Amber::WebSockets::Adapters::RedisAdapter

Ran format tool and updated.  Merging...


Fixes a race in the logstream.

eg.Wait cannot be called before eg.Go without tripping Go's race detection.
Internally errgroup uses sync.Wait, which has the following warning:

Note that calls with a positive delta that occur when the counter is zero must happen before a Wait

When eg.Go isn't clearly called prior to eg.Wait the read of the error field in eg.Wait races with the
assignment of the error field in the once of eg.Go.

/lgtm

Doesn't this still race because the inner loop calls eg.Go while the outer goroutine is already in the Wait? :thinking:

It shouldn't since first goroutine will already call wg.Add(1) on the internal WG. I think.

Ah it says "when the counter is 0", didn't read properly.


fix: create collection asset hub

Thank you for your contribution to the KodaDot - One Stop Shop for Polkadot NFTs.
👇 __ Let's make a quick check before the contribution.
PR Type

[ ] Bugfix
[ ] Feature
[x] Refactoring

Context

[x] modelValue on switch and drop

Did your issue had any of the "$" label on it?

[ ] My DOT address: Payout

Screenshot 📸

[ ] My fix has changed UI

Copilot Summary

🤖 Generated by Copilot at 0123984
Refactored two components (DropUpload and BasicSwitch) to use the Vue 3 convention for v-model integration. Moved BasicSwitch to a more appropriate folder.

🤖 Generated by Copilot at 0123984

To make v-model integration smooth
We refactored BasicSwitch and DropUpload too
We used emit and useVModel functions
And moved some components to new locations
Now our Vue 3 code is consistent and true

Doesn't DropUpload need to define a modelValue prop?

Tbh, I'm still unclear about migrating the modelValue stuff. Haha. It looks fine even without that prop
Added another commit to fix create collection 8761683 (#7498)


[Draft, still broken] Fix ordering in rebalancing query

Ordering of the full table seems to not play well with the ordering in the cumulative sum.
Her I just changed the ordering from desc to asc.

The query seems fine after all (though the initial guess creates some issue).


Create design-guide-for-good-logo.md

It is a small guide for beginners who are designing a logo. Here are my two cents for a good logo design, having designed logos for some of my clients in past.
It is not mandatory to follow each point but keeping in mind these will be helpful.

Nice @aesthytik! Looking forward to working with you ❤

Nice @aesthytik! Looking forward to working with you ❤

thanks for the approval kenny. Love how you engage with the twindle community 👍 😄 🙌🏼

Nice Info related to logo design 👍

Very good @aesthytik


Parameterize hardcoded host variable

This relates to issue #239
PG2: 2076

@csantanapr this PR looks good. the travis build was terminated though. i'd restart the build if i could

@abaruni I've restarted your build. Does this need to be merged first, and then https://github.com/apache/incubator-openwhisk/pull/2815?

@ddragosd this one is actually on its own.
https://github.com/apache/incubator-openwhisk-catalog/pull/243 is the one that needs apache/incubator-openwhisk#2815


Optimize histogram calculation

@frauzufall notes that the histogram can lead to freezes for very large volumes.
I have also noticed that the behavior related to recalculation isn't 100% smooth.

See this report: https://imagesc.zulipchat.com/#narrow/stream/327495-scenery.2Bsciview/topic/sciview.20freeze.20when.20scrolling.20to.20transfer.20function.20editor

@skalarproduktraum we can close this with the histogram improvements, right?


Add string formatting to console.log

Component
Forge
Describe the feature you would like
Hardhat supports formatting in its console.log implementation.
E.g. console.log("Trying to send %s tokens to %s", amount, to);
Formatting makes debug prints more readable and convenient.
Additional context
No response

I'd like to take this up

Status on this @Genysys? :smile:

I believe we chatted about this briefly,
a bare-bones approach would be to regex + replace %s placeholders with params, that's what hardhat does.

Unassigned you @Genysys since I haven't heard back from you, but please let me know if you are still interested in taking a stab at this and I will reassign you! :smile:


If omitted all chunks are used?? Could you explain what do you mean?

From @wzup on August 1, 2016 9:27
Could you please elaborate what you actually meant?
CommonsChunkPlugin
At first read this, bold and italic part:

options.name or options.names (string|string[]): The chunk name of the commons chunk. An existing chunk can be selected by passing a name of an existing chunk. If an array of strings is passed this is equal to invoking the plugin multiple times for each chunk name. _If omitted and options.async or options.children is set all chunks are used_, otherwise options.filename is used as chunk name.

Now read this, bold and italic part:

options.async (boolean|string): If true _a new async commons chunk is created as child of options.name_ and sibling of options.chunks. It is loaded in parallel with options.chunks. It is possible to change the name of the output file by providing the desired string instead of true.

And a question is.
How can you create a child of something that is omitted, that doesn't exist?

If options.name or  options.names  is omitted and options.async is set
If  options.async is true a new async commons chunk is created as child of options.name

What did you actually mean?
Copied from original issue: webpack/webpack#2827

From @sokra on September 1, 2016 19:9
If

name(s) is not set
async or children is true

then
all chunks are used by the CommonChunkPlugin.
The CommonsChunkPlugin iterates over all chunks of the compilation and does it job. It checks for common modules in the children of the chunk and creates an async chunk with the common modules.

@wzup can you take a look at the new documentation for the CommonsChunkPlugin? It's more elaborate and contains a lot of detailed examples.
If there is we would definitely welcome a PR, I agree the descriptions are a bit hard to follow. I know this is a bit old but better to get a fix in late than never? Also, did @sokra's description help at all? I think maybe a few minor adjustments to the phrasing of the option descriptions could go a long way.

@wzup closing for inactivity but please see the new CommonsChunkPlugin page I linked to above and let us know if the problem persists.


auto-load workspace file if it is the only workspace file in the folder root

problem
i often cd /path/to/project && code . to launch vscode.  it's easy to forget to open the workspace, e.g. code blah.code-workspace.  further, when contributors jump into your project, it'd be nice to auto onboard them if they are not aware of the workspace functionality.
discussion
~100% of the time, i want to use the .code-workspace file.  i understand that in some cases you may want a native file browsing experience, i'm not sure how to handle that case, or if it should be handled.
i'd also be willing to sacrifice the ease of onboarding newcomers if i could alias code to be something akin to alias code="code --always-load-local-workspace" or similar.
thanks for the consideration!

This is a common problem. I have this same problem when opening Folders from inside of VSCode itself. Sometimes they have workspaces, and I have to deal with the prompt asking if I want to load the workspace? This is actually a very upsetting prompt.
Yes, I want to, Every Single Time
And I don't want it to be a 2 step process with the window loading, then having to load the window again.

This is a common problem. I have this same problem when opening Folders in separate windows from inside of VSCode itself. Sometimes they have workspaces, and I have to deal with the prompt asking if I want to load the workspace? This is actually a very upsetting prompt.
Yes, I want to, Every Single Time
And I don't want it to be a 2 step process with the window loading, then having to load the window again.

definitely interested!
I'm using the Project-Manager extension to switch between my projects. But each time I have to click on the popup to load my workspace.
+1

+1 for a "Don't ask me again" which enables a setting for this feature

+1

I switch between projects very, very often.
Every single one (~50) has no fewer that 1 or more than 1 .workspace file1.
Waiting for VS Code to learn there's a workspace, animate in the prompt, and have me click it actually adds up to a lot of time over the day.
If we don't get the auto-load function, at least please stop animating the slide-in of the dialog, just have it appear instantly, and have and option to focus the "yes" button automatically.

Other ideas to throw on the pile:

When auto-loading a workspace (whether this becomes the default, or whether it's driven by settings or flags), raise a short-lived notification indicating that the window is using an explicit workspace file.
Add "something" to the UI which visually indicates when the window is using explicit workspace file.

6 months after this was opened, just curious if the dev team has any interest in loading a workspace file automatically on page load? Or should I just keep my eyes peeled for an extension?

given that the team now gives a visual prompt reliably and lets you open a project from the CLI, this may be actually better left open for user land to solve. perhaps thru a bash alias, perhaps through a vscode extension.  I'm closing my issue in efforts to help the core team keep the noise down, and work on those sweet sweet juicy features in the roadmap!

Closing the issue - fair enough, noise is noisy.
But just to clarify, for future ref, the prompt was present when the issue was created - in fact, this feature request is for it to allow auto-opening of the project workspace, and ideally prevent prompts thereafter.
Still something people very much want, and this issue hasn't been resolved by VSCode or a plugin.


Unquote2

Different approach to unquoting. Based on joy quote tutorial

Do we still need Nodes.Unquote?


Logic for hexagon display

I need to check my thinking on this one but I am using "Bed of Nails" as a test case.  There are 3 parts to the question.
When I have 1 part right and haven't attempted the other two it says "Well done" where as I think it should say "in progress"?
When I have 1 right and 1 wrong it still says well done where I think it should say "in progress" - because I can get it right but haven't finished as yet.
If I have done 2 parts correctly it says perfect rather than well done.
If I get 2 parts wrong it does say try again :)

I think this was fixed a long time ago . . .


Problem running docker-chromium-xvfb

Hi
Running a python test script, I get:
Traceback (most recent call last):
File "mcanvas-login-test.py", line 19, in testLogin
element.send_keys(os.getenv('MCANVAS_TEST_EMAIL'))
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 320, in send_keys
self._execute(Command.SEND_KEYS_TO_ELEMENT, {'value': keys_to_typing(value)})
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 461, in _execute
return self._parent.execute(command, params)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: Message: unknown error: an X display is required for keycode conversions, consider using Xvfb
(Session info: chrome=52.0.2743.116)
(Driver info: chromedriver=2.19.346067 (6abd8652f8bc7a1d825962003ac88ec6a37a82f1),platform=Linux 4.4.14-moby x86_64)
Any ideas? I tried just going to a page and checking the page title and everything worked, so I thin it's all installed OK.
Thanks, Roger

That seems strange. Can you include your Dockerfile, your test script, and the docker command that you're using to execute it so that I can help more?

I had a same problem, I had solved with follows script in Dockerfile:
export DISPLAY=:1
Xvfb $DISPLAY -ac -screen 0 1280x1024x8 &
sleep 1
the stackoverflow url:
http://stackoverflow.com/questions/25731647/protractor-sendkeys-not-working-an-x-display-is-required-for-keycode-conversion

I tested this with the latest images on my sample applications (samples/python2, samples/python3) and everything appears to be working fine.
@rogthedodge, without a copy of your Dockerfile and script, I'm not sure there's much more to do on this one. Please reopen if you still are experiencing the issue.

Hii adams,

When I ran selenium test case using docker i got this error:

======================================================================
ERROR: test_google_title_matches_correct_value (test_google.ExampleTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "test_google.py", line 13, in test_google_title_matches_correct_value
    input_box.send_keys('apple', Keys.RETURN)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 349, in send_keys
    'value': keys_to_typing(value)})
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 493, in _execute
    return self._parent.execute(command, params)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
WebDriverException: Message: unknown error: an X display is required for keycode conversions, consider using Xvfb
  (Session info: chrome=57.0.2987.98)
  (Driver info: chromedriver=2.28.455506 (18f6627e265f442aeec9b6661a49fe819aeeea1f),platform=Linux 3.13.0-38-generic x86_64)

----------------------------------------------------------------------
Ran 1 test in 14.391s

FAILED (errors=1)

This is my docker file code:

 FROM markadams/chromium-xvfb

 RUN apt-get update && apt-get install -y \
     python python-pip curl unzip libgconf-2-4

 RUN pip install pytest selenium

 ENV CHROMEDRIVER_VERSION 2.28
 ENV CHROMEDRIVER_SHA256 8f5b0ab727c326a2f7887f08e4f577cb4452a9e5783d1938728946a8557a37bc

 RUN curl -SLO "https://chromedriver.storage.googleapis.com/$CHROMEDRIVER_VERSION/chromedriver_linux64.zip" \
   && echo "$CHROMEDRIVER_SHA256  chromedriver_linux64.zip" | sha256sum -c - \
   && unzip "chromedriver_linux64.zip" -d /usr/local/bin \
   && rm "chromedriver_linux64.zip"

 RUN mkdir chatra
 ADD . chatra/
 WORKDIR chatra/
 CMD python -m unittest -v test_google

This is my test case:

import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

class ExampleTests(unittest.TestCase):

    def setUp(self):
        self.driver = webdriver.Chrome('/usr/local/bin/chromedriver')

    def test_google_title_matches_correct_value(self):
        self.driver.get("http://www.google.com")
        input_box = self.driver.find_element_by_id('lst-ib')
        input_box.send_keys('apple', Keys.RETURN)
        assert "Google" in self.driver.title
        self.driver.save_screenshot('google.png')

    def tearDown(self):
        self.driver.close()

How can we resolve the above issue? And how can we use chrome driver version (2.29).


Log rejected SMTP in GUI

Just a suggestion, if possible.
We setup postal for some of our chat transcripts which appeared to be working OK in testing but only after not getting some messages did we find that the chat software sets the from address to the person chatting when sending us a copy - as would be useful.
Postal rejected that because of the from header.
Could messages that are authenticated but have incorrect from headers be logged in the GUI at all?
For now, we've adjusted their code to include a "Sender:" line but not ideal as updates may (will) overwrite it.

We don't really have anything in the web interface to display errors like this. You'll find the error in your smtp.log file so you could keep an eye on that for updates. The correct solution would be for the application that sends the message to raise an error (or at least notify) when an SMTP server doesn't accept their message.


nixos/doc: improve example of renaming network interfaces

Motivation for this change
The current example of identifying a network interface by MACAddress can lead to surprising results as that key is unstable; e.g. NetworkManager commonly changes the MAC address of wireless interfaces. In practice PermanentMACAddress is likely to be preferable.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[x] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Seems that RFC 0072 makes it harder to find the original author and history for all NixOS docs...
@rnhmjoj Would you like to look at this?

@rnhmjoj Would you like to help review this PR?

Thank you for pinging me!


Allow DNS to be configured by internal_dns Operations File

This could instead be done with an ops file. It may look something like this:
---
- type: replace
  path: /networks/name=default/subnets/0/dns
  value: [((internal_dns)),<IP_ADDRESS>]

@tylerschultz Makes sense. Will change this up tonight. Any reason why we require everything on the network besides DNS? If only for convention shouldn't we ask for internal_dns as well?

That's a fair point. I am not aware of any specific reason why.

If only for convention shouldn't we ask for internal_dns as well?

most people still end up using external dns provider afaik so we've decided to keep it as an easy default. if someone needs to override, ops file should be pretty easy.

@tylerschultz @cppforlife Simplified this through the use of Operations File! :)

@Oskoss Have you signed the CLA?

@tylerschultz Yes!!

This has come up a couple times, so I went ahead and merged it. I did tweak it such that it overwrites the DNS servers rather than prepends one (to support multiple servers, and avoid surprises about outbound requests being sent). Only caveat is users should be sure to wrap a single DNS server with square brackets, so the CLI interprets it as an array (so I added a short example in the file comment, as well).

And thanks!

Note that the existing operations files and variables use a hyphen instead of an underscore.  Since this was just merged, it might make sense to be consistent with everything else and use internal-dns.yml and a variable of {{internal-dns}} before it starts getting usage.

Oops, you're right, the file should be named internal-dns.yml - missed that
and will fix that shortly.
The variable names though should indeed be underscores. Are there vars in
this repo using dashes? We should fix those, too.
--
Danny Berger

The variable names though should indeed be underscores. Are there vars in
this repo using dashes? We should fix those, too.

You're right.  I guess I just imagined it.  I don't see any variables using dashes.

@dpb587-pivotal @zmb3 i moved a few things into misc/ including dns configuration.


Scrips: Seperate 'predefCode' and 'on completion open up a REPL'

I want to run a script from an SBT project and preload own code: ammonite.Main.main(Array("--predef-code", "val a = 2", new File("hello.sc").getAbsolutePath))
Sadly, the command predef-code is bundled with 'This will run the script as normal, but on completion open up a REPL which has all the values defined in that script imported and ready to use.'
I think these two options should be separated, e.g. with the addition of the option --open-repl-on-completion.

Seems to be fixed now?
$ cat foo.sc
println(a)

$ amm --version
Ammonite REPL & Script-Runner, 2.4.1

$ amm --predef-code "val a = 1" foo.sc
1


display dotnet token in capa output

I believe we intended to display the dotnet token but the output currently displays dotnet table name  + index. maybe an erroneous str somewhere?

a few options:
today

colon separated

parenthesis

the place to change is here:

https://github.com/mandiant/capa/blob/3323d85067f735761a445e5a6a4245bac138917f/capa/render/verbose.py#L47

I like parenthesis but colon also works.


Examples api is broken

Describe the bug

error[E0026]: variant `MenuEvent` does not have a field named `window_id`
    --> core/tauri-runtime-wry/src/lib.rs:1505:7
     |
1505 |       window_id,
     |       ^^^^^^^^^ variant `MenuEvent` does not have this field

error[E0026]: variant `MenuEvent` does not have a field named `window_id`
    --> core/tauri-runtime-wry/src/lib.rs:1521:7
     |
1521 |       window_id: _,
     |       ^^^^^^^^^ variant `MenuEvent` does not have this field

To Reproduce
Steps to reproduce the behavior:
Steps described in readme to compile and run examples/api
Platform and Versions (required):
Macos
yarn info v1.22.10
rustc 1.52.1 (9bc8c42bb 2021-05-09)

Please add the results of tauri info, as required by the issue template.


CONSUME API FOR MOTOCYCLE DETAILS - FRONTEND (REACT)

Consume API
Motocycle Details (Backend)#5

This task is assgiend to Fernando


Fixing the punctuation around milestones.

Making sure the Milestones are working as sentences.

Looks good. Just a thought, is there any use in having a shared message of something like "full.stop", to use where we need a full stop to end a sentence? Otherwise we're duplicating the full stop string, I believe.

@JoPintoPaul that would save 2 properties.  I'm happy with that.


Create a Docker image for mining with Zebra on Testnet

Motivation
We could make it easier for people to try mining with Zebra on Testnet by publishing a Docker image.
This would also make it easier to add a manually dispatched workflow to our CI for testing mining pool support.
Design
Collect all of the steps in zebra-instructions into a Dockerfile.
Timing
We're going to limit this ticket to 2 days of work, because it won't be usable in production. (We had to disable parts of s-nomp because it doesn't support NU5.)

This might have a lot of overlap with ticket #6025, can you update its ticket description to mention this ticket?

Is this a low priority or optional ticket?

If we do a "How to mine using s-nomp and Zebra on testnet"  blogpost we would ideally provide the docker image already so I feel like this is potentially a blocker for finishing off #6028. However, we may decide that the instructions on there are good enough.

Hey team! Please add your planning poker estimate with Zenhub @arya2 @conradoplg @dconnolly @oxarbitrage @teor2345 @upbqdn

This has a lot of overlap with #6200, we might want to make that Docker image first. I'll try to do that today.

@arya2 @mpguerra do we need to implement this ticket? Have any users asked for it?
s-nomp doesn't support generating its own NU5 coinbase transactions, so I'm not sure if we would want to create a Docker image that uses s-nomp. And I'm not sure if testnet images are useful to our users.

@arya2 @mpguerra do we need to implement this ticket? Have any users asked for it?

I don't think it's worthwhile anymore.


Status of this project

Sorry for using an issue to ask questions but the "Github Discussions" are not enabled on this repository.
We (as a company) are very interesting in this project and we have a use case where we have some component that are packaged as docker images and that need to be shared between many many pods. And we want to keep the flexibility to update those images regardless of their consuming pods (this is acceptable to require a restart though).
We have no yet found any satisactory solution to this use case and this projet is promising.
We have also looked at the https://github.com/kubernetes-csi/csi-driver-image-populator project but it is clearly stated as experimental.
I wanted to know what is the status of this projet ? is it being used somehow ? will there be any releases ?
Thanks for your answers.

I'd be interested in the answer too. Also, I wrote the initial implementation of  https://github.com/kubernetes-csi/csi-driver-image-populator
I haven't had too much time to work on it of late though, which is why its still experimental. I'm mostly a user, and mostly just want the feature to "just work" too. But wasn't gaining any traction until I started coding something.
I'm curious if this project and https://github.com/kubernetes-csi/csi-driver-image-populator could be merged ultimately leading to a universally useful stable driver.
The image-populator version just uses buildah at the moment, and I spent a couple of kubecons trying to chat with the maintainers of cri to see if cri could be extended with enough api to allow image-populator to be neutral to the runtime. I didn't get a clear answer, but the clearest answer was that cri wouldn't gain the extra features, and maybe a new abstraction api should be written.
So that I think kind of where we are. image-populator is neutral from the standpoint that it works with any runtime. but kind of duplicates runtimes which isn't ideal. This driver looks nice in that it uses cri, but still has runtime specific bits so probably won't work right on kata or crio or whatever?
Maybe we just need to add a plugable driver/api and then implement a few drivers? We could implement a buildah fallback driver for those runtimes that don't otherwise have a driver?

Hi @sgandon, nice to meet you here. Questions are welcome, don't worry.

what is the status of this project?

This project is one of my side projects. It doesn't belong to any company or team yet.
This plugin supports the core function of my another side project kubectl-dev, so, it is not experimental. And, I will spend at least half of the time on these projects.
From the view of features, the plugin now only supports containerd, and may consider supporting podman in the future.

is it being used somehow?

Yes, but rarely.  Another contributor @glennpratt is helping with the test, but we haven't discussed how he wants to use it.
My critical scenario is to debug images, that is to mount a failed image to a pod that usually provides bash or zsh. Users can run into that pod and figure causes out, such that, the mounted image should be writable and changes can be discarded after unmounting. (I am also considering implementing the snapshot interface to allow users to commit changes to a new image.) This case is also special in that it assumes only one user is debugging a specified image at the same time, so sharing the same mutable snapshot becomes a corner case.

will there be any releases?

Yes, but I can't guarantee that the first release will come in the next few weeks or months.

@kfox1111, glad to see you here. Project csi-driver-image-populator was also my candidate before starting this project.
It is almost 3am now, I think I can only reply you a few hours later.

I believe buildah shares the image store with container runtimes, but only with crio at the moment. Totally agree that is sub-optimal for your use case. Really, I used buildah to do the implementation just because it took very little code to actually get it to proof of concept the idea of using an image as a volume. I also wanted to get the driver out as fast as possible so hopefully it would get wide spread and then helm chart writers would start taking advantage of the benefits using containers to transfer data/scripts could have. Leaving it marked experimental didn't really let that happen...
full cri support for the features would really be best, but like I said before, there wasn't really an option for that. This project seems to be going down the right path towards as portable as possible with the cri usage which is good. just maybe need some kind of driver mechanism for additional runtimes.
There was a third option kicked around that maybe we should explore too. cri by itself isn't able to do what we need I think, but maybe we could go up to a higher level and solve it still portably amongst runtimes. The idea was, maybe we add a controller that looks for pods with the image driver specified. It then launches another pod in a driver namespace on that node that corresponds to the "volume" with a busybox or something injected to get it to run, or maybe it mutates the users pod to add an extra container to the run for the volume. Then the driver takes the root mount of the extra container and bind mounts it to the driver location so can be picked up by the pod. Maybe there is a useful idea there, maybe not.

bump if there have been any other discussions for this in sig-storage?

bump if there have been any other discussions for this in sig-storage?

I guess no.

Maybe not so many people need this kind of driver.

Btw. I think the comment from  Apr 22, 2021 could do into the README.

For those wondering about the production readiness of this project. We've been running it on nine production clusters for over a year now with the largest cluster having 272 nodes with 4721 pods using the driver.

A project with a driver like this would also enable important use cases in our project. I would love to see it evolving further and I'd happily contribute (would need to get familiar with CSI stuff first though).
It's good to hear that there's also production experience already :)


Add crawler date jump link and update more information section

Without pagination:

Without time:

There's an issue when there are no results:

The HTML looks odd:

Should results-list, o-well, etc. be inside the results-count div? I'd expect that div to only contain the count headline.


fix: update scripts with nuxt env and semicolon

🔧 What changed

I changed the setting of the env variable to NUXT_USE_LOCAL_API and added a semicolon to the script after the setting of the env variable.
I changed the nuxt.config to then have that variable accessible during the runtime.config and then used it as a variable passed into the InitializeGqlClient.
Explanation: On the server the utils/graph.ts was able to access the set NUXT_USE_LOCAL_API=development env variable. But since we use that function within the app, when it ran the function initializeGqlClient in app.vue the client didn't have access to that set variable from the script. This led the function call to default to the prod url client side. Now in app.vue we pass the runtimeConfig as a parameter that was set in the nuxt.config as the NUXT_USE_LOCAL_API=development into the initializeGqlClient  function. This allows us to access the env during runtime to correctly set the apiUrl in initializeGqlClient .

🧪 Testing instructions
Run yarn dev and that should connect to the prod db.

Run yarn dev:localserver and that should show the following error.

Start your local backend server and then:
Run yarn dev:localserver and that should show the page with the dummy data.

@SocketSecurity ignore-all

@theyokohamalife Good idea! Let's hope!

💯

The portrait hidden was still making it show the footer? I am a little confused as to how those work so do you mind if I add the CSS changes in its own PR?


yamete#2969

I think it should be changed like this, right?

Please check

Closing the issue for now


TFA Conflict

When shooting unsilenced this error occurs. Seems to only happen with this weapon though,
https://steamcommunity.com/sharedfiles/filedetails/?id=1676032134
[ERROR] lua/autorun/shared.lua:119: bad argument #1 to 'pairs' (table expected, got nil)

pairs - [C]:-1
__event - lua/autorun/shared.lua:119
3. OldFireBullets - [C]:-1
4. FireBullets - lua/autorun/lfs_basescript.lua:41
5. BallisticFirebullet - lua/weapons/tfa_gun_base/common/bullet.lua:54
6. ShootBullet - lua/weapons/tfa_gun_base/common/bullet.lua:333
7. ShootBulletInformation - lua/weapons/tfa_gun_base/common/bullet.lua:94
8. TriggerAttack - lua/weapons/tfa_gun_base/shared.lua:1635
9. unknown - lua/weapons/tfa_gun_base/shared.lua:1680 (x4)

For some very interesting reason, the weapon name contains "cw_" which triggers the customizable weaponry statement instead of tfa. I'm going to find a more reliable way of defining what weapon pack people use, because so far the one I'm using caused too much issues.

Fixed in the github repo. Soon to be pushed on the workshop...


Fix parse query string.

Fixes #1238. The url had only one value in the query string.  Fixed two issues

writing back to the same variable
possible undefined for the value.

@pdfjsbot lint

Fix upstream lint error
@pdfjsbot lint

@pdfjsbot lint


fix Fix clone and alter tablet use same tablet path #34889

cherry pick from #34889

run buildall

run buildall

run buildall

run buildall


Add support for volos extensions

Current version (v0.1.0) of the swagger2api does not support Apigee Volos extensions. Include that in the next release.

V 0.2.1 supports volos extensions. Fixed.


biodocker and bioboxes

Hi,
is this project still active or did it migrate completely to bioboxes?
I was using the basic image from biodocker when I run into a discussion about merging the two project. They both have cool sides, but I'd prefer to stay with this at the moment, unless is abandoned...
Also if still active maybe in future have a talk about #44 ?
Cheers

Hi @aliceminotto ,
First of all, thanks for being interested in the project.
BioDocker and BioBoxes may seem alike but both projects have different goals. Our main objective is to provide standardized containers with bioinformatics software, also we are working hard to provide specifications and guidelines for creating new containers.
We are in constant work here, our project is not abandoned, besides the containers and specifications you see on our GitHub page, there is also a lot of discussion going on behind the scenes.
Please, feel free to join us and also feel free to post your requests, doubts and comments. This is a community project and we value the participation of everyone that is interested.

@prvst Great to hear!!!
Sorry, I couldn't actually guess the final thoughts from the related github issue. I actually think this project would suit better my purpose, just getting started, but hopefully something will come out soon(ish).

@aliceminotto I'm glad to hear that, please message me if you need any help.
Btw, about the #44, we are still figuring out how to work with this, if you are working on Windows or MAC, you may try Docker Toolbox. It contais a software called Kitematic that will provide you with a GUI to help manage your containers.


workshop full uses old version of istio 1.1.5

workshop full https://github.com/IBM/cloud-native-starter/blob/master/workshop/00-prerequisites.md
Uses old version of istio 1.1.5 and this fails on new versions of k8s 1.16+ as Deployment is not part of apps/beta1
IKS doc uses istio 1.5.1, so as good step forward it would be good to keep all 3 places using same version of Istio between minikube and IKS

https://github.com/IBM/cloud-native-starter/blob/master/documentation/SetupLocalEnvironment.md
https://github.com/IBM/cloud-native-starter/blob/master/documentation/IKSDeployment.md
https://github.com/IBM/cloud-native-starter/blob/master/workshop/00-prerequisites.md

@csantanapr Thanks for the comment I will change it.

Hi @thomassuedbroecker I submitted a PR at the time I opened the issue two days ago here #41
Would be awesome if you could review it and allow other folks to contribute to the this repository.

Hi @csantanapr, sure I only noticed the issue. The review take more time.


Deprecated createTimeSeries()

Fixed problems for previous PR (link) on deprecating createTimeSeries(). Created new PR since I'm working on a separate branch now. Here is the old description:
Deprecated the createTimeSeries()/timeseriesID and added ability in timeseriesQuery() and TimeseriesQuerySpec to pass in function and filter on TimeseriesQuerySpec object.
Modified the tests as well to test this new functionality gets packed/unpacked correctly.

Done with review.  Few style comments.

Done


Taxonomy: Contributors have capability to create web story tags

Came up in #9212 and am isolating here since that ticket has expanded.
Right now, contributors are given the ability to create new web story tags:

Is this something we want? If yes, we can update the e2e test and call it a day, otherwise this ticket should be to address that config discrepancy.
In posts, contributors cannot create new tags, just assign existing ones.

cc @spacedmonkey

To create new ones, it looks like for hierarchical taxonomies users need edit_terms_web-stories caps, for tags they'd need assign_terms_web-stories caps.

In posts, contributors cannot create new tags, just assign existing ones.

I cannot confirm this.

Log in as contributor
Create new post
Add some tags and save post
Log in as admin
Go manage tags
See the tags created by contributor

I am confused by this ticket, what is needed here? A change of behavior?

I am confused by this ticket, what is needed here? A change of behavior?

It's a bug report for something that isn't actually a bug but WAI.
I'll wait for Brittany to reply & confirm.

So the above are the capabilities from the story as well as the base and slug. We're checking for the slug in the capabilities like so
 capabilities[`create-${taxonomy?.restBase}`] ||
            capabilities[`create-${taxonomy?.slug}`]

to figure out what users can do.
The console on the right is from a contributor and the one on the left is admin.
The contributor, as far as I'm aware and what made me make this ticket, should not have create-web_story_tag as a capability.
Does that make more sense?

The contributor, as far as I'm aware and what made me make this ticket, should not have create-web_story_tag as a capability.

Not 100% correct. Check the post editor as a contributor. Contributors can create new tags.

ok great then this isn't an issue. i was under the impression that tags should not be created since categories cannot be.


Include traffic lamp in commit pop-up

Hi IntelliJ plug-in team,
The plug-in works fine on my side. I would like to submit a wish now.
In the "Are you sure you want to commit" pop-up appearing when the lamp color does not allow to commit, could it be possible to add the link to the build or the traffic lamp itself ?
This would enable to check what's behind the lamp and have a better view of the Jenkin's health to decide to commit or not.
Cheers,
Laurent

issue closed in the commit done yesterday


feat: Add test documentation

Adds test overview documentation
Adds documentation for test specific files and directories

Closes: #7

Given there have been no further comments, merging this now.


Word-sized char sequences are not displayed correctly

Describe the bug
Converting a word-size char sequence yields the wrong result in the disassembler view for little endian CPUs.
To Reproduce
Steps to reproduce the behavior:

Load the attached test.bin file as a real-mode x86 binary, let it start from 0010:0000.
Don't let auto-analysis start.
Create word-sized data values out of the ASCII bytes shown.
Convert any of those into a char sequence via the 'Convert' context menu.

Expected behavior
Character sequences should be two entries long, especially if made up of pure ASCII characters.
Screenshots
Before:

After:

Attachments
test.bin.gz
Environment (please complete the following information):

OS: macOS 10.14.6
Java Version: 11.0.5
Ghidra Version: 9.1-DEV built from Ghidra_9.1_build tag

Additional context
This can be reproduced on other little endian CPUs (6502, Z80, etc.).

While I agree with you in some cases about endianness, there are different use cases and with the current simple feature, it was decided to go with the language endianness.


[PRODUCT]: NERFC QPE

Product Source (URL Preferred)
Currently, this product is acquired by local office via LDM REQUEST ANY (nerfc2coe.qpe)(.*)(.grb)
Grids not available via HTTP at this link at time of this GH Issue: https://tgftp.nws.noaa.gov/data/rfc/nerfc/
Product Description
Product Format

[ ] Geotiff
[ ] Grib2
[ ] NetCDF
[ ] Other (Please provide description below)

Format Description

Update: QPE grids now appear to be available at the link in the initial issue https://tgftp.nws.noaa.gov/data/rfc/nerfc/
cc @adamscarberry @jeffsuperglide

Meant to PR this, but acidently pushed straight to airflow develop.
https://github.com/USACE/airflow-config/commit/9fd159082ec2eefda6be3e2b90d870895dece64d
NERFC QPE Dag Done ✅

Geoprocessor added to USACE/cumulus-geoproc in this PR: USACE/cumulus-geoproc#26

Data acquisition enabled in Airflow for develop & stable instances of service; Closing issue.


Chaincode instantiation in the non-dev mode

Hello, the instructions in the book have not been clear on the non-dev mode. I have been stuck in this part since a few days. I am new to GO, so am not clear, how the vendoring should happen.
I have a few errors that I am aware of but not sure how to solve them.
/trade_workflow$ go version
2018-07-29 11:34:52.889 IST [shim] SetupChaincodeLogging -> INFO 001 Chaincode log level not provided; defaulting to: INFO
2018-07-29 11:34:52.889 IST [shim] SetupChaincodeLogging -> INFO 002 Chaincode (build level: ) starting up ...
Error starting chaincode error chaincode id not provided
In the tradeWorkflow.go file, I get
Cannot use 'twc' (type "demandresponsepoc/chaincode/src/github.com/trade_workflow".*TradeWorkflowChaincode) as type "demandresponsepoc/chaincode/src/github.com/trade_workflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim".Chaincode more... (Ctrl+F1)
This is due to improper vendoring but the directory paths to be followed for vendoring is not easy to follow and I could not install vendor.
On the blockchain terminal, I get
"er0.consumerorg.demandresponse.com | 2018-07-29 05:10:08.992 UTC [gossip/election] waitForInterrupt -> DEBU 1318 [30 112 164 231 20 133 158 245 221 229 92 19 179 28 208 91 151 183 210 167 106 250 148 222 114 36 161 220 234 241 236 74] : Entering
peer0.consumerorg.demandresponse.com | 2018-07-29 05:10:11.064 UTC [dev-peer0.consumerorg.demandresponse.com-utilitycc-v0] func2 -> INFO 1319 2018-07-29 05:10:11.063 UTC [grpc] Printf -> DEBU 002 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.consumerorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.consumerorg.demandresponse.com:7052 }
peer0.utilityorg.demandresponse.com | 2018-07-29 05:10:11.063 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 133f 2018-07-29 05:10:11.062 UTC [grpc] Printf -> DEBU 002 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.utilityorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.utilityorg.demandresponse.com:7052 }
peer0.utilityorg.demandresponse.com | 2018-07-29 05:10:11.067 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 1340 2018-07-29 05:10:11.067 UTC [grpc] Printf -> DEBU 003 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.utilityorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.utilityorg.demandresponse.com:7052 }
peer0.consumerorg.demandresponse.com | 2018-07-29 05:10:11.510 UTC [gossip/discovery] periodicalSendAlive -> DEBU 131a Sleeping 5s
peer0.utilityorg.demandresponse.com | 2018-07-29 05:10:11.617 UTC [gossip/discovery] periodicalSendAlive -> DEBU 1341 Sleeping 5s
peer0.consumerorg.demandresponse.com | 2018-07-29 05:10:11.925 UTC [dev-peer0.consumerorg.demandresponse.com-utilitycc-v0] func2 -> INFO 131b 2018-07-29 05:10:11.914 UTC [shim] userChaincodeStreamGetter -> ERRO 003 context deadline exceeded"
Any help in this would be great. I followed the book and that explained to me a lot that was not clear to me from the fabric docs.
Looking forward to your help.
Thanks

Copying @sahirvsahirv 's comment from the other thread:
I have created a copy of the sample code - now I have a demandresponse folder that has a similar folder for chaincode. The references in the middleware have been changed to refer to this code.

I copied the vendor folder under chaincode as well and when I try to instantiate chaincode using the rest api, i get this error.
Gowri

@sahirvsahirv Can you please state precisely what procedure you tried to run, and what you changed from the default? From the logs, it looks like the organization names are different. Did you run the procedures as described in both the network and the middleware folders? I suspect you got some configuration wrong, which is why you are seeing the containers complain about connectivity.
Unless you changed something in the chaincode, that should not pose any issues. I'd examine the process you used to create channel and crypto artifacts, launch the channel, and run the middleware code instead.
For your reference, and to assure yourself that everything works as it should, use the default configurations and organization names and run the network and application as per the provided instructions. Once you can see everything working, change your configurations (organization names, peer names, etc.) and rebuild your network and application using the example given in the book as a guide.

Hello,
The sample app works well, I wanted to develop my use case.
Hence I copied the sample app folder and renamed it to demandresponsepoc
and made changes to it.
The network runs well, the GO code compiled well in the Dev environment,
test cases ran well.
Now in the non Dev environment,
instantiate through node js fails and I face the errors described.
Thanks.
Let me know if I need to elaborate on something.
Gowri
On Tue, 7 Aug 2018 at 3:28 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

@sahirvsahirv https://github.com/sahirvsahirv Can you please state
precisely what procedure you tried to run, and what you changed from the
default? From the logs, it looks like the organization names are different.
Did you run the procedures as described in both the network and the
middleware folders? I suspect you got some configuration wrong, which is
why you are seeing the containers complain about connectivity.
Unless you changed something in the chaincode, that should not pose any
issues. I'd examine the process you used to create channel and crypto
artifacts, launch the channel, and run the middleware code instead.
For your reference, and to assure yourself that everything works as it
should, use the default configurations and organization names and run the
network and application as per the provided instructions. Once you can see
everything working, change your configurations (organization names, peer
names, etc.) and rebuild your network and application using the example
given in the book as a guide.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411003218,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk7TGO2qZfFSnsg7sXlH2JLH8REAeks5uOWTfgaJpZM4VxrPH
.

Based on logs like these:
peer0.consumerorg.demandresponse.com | 2018-07-29 05:10:11.064 UTC [dev-peer0.consumerorg.demandresponse.com-utilitycc-v0] func2 -> INFO 1319 2018-07-29 05:10:11.063 UTC [grpc] Printf -> DEBU 002 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.consumerorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.consumerorg.demandresponse.com:7052 }

it doesn't look like your network is starting up properly.
What does docker ps -a reveal?

And the GO code has an error in it.
demandresponsepoc/chaincode/src/github.com/trade_workflow".*TradeWorkflowChaincode)
as type "demandresponsepoc/chaincode/src/
github.com/trade_workflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim".Chaincode
more...
I do not have this vendor path
And also
Just typing go version on the Ubuntu bash gives
2018-07-29 11:34:52.889 IST [shim] SetupChaincodeLogging -> INFO 001
Chaincode log level not provided; defaulting to: INFO
2018-07-29 11:34:52.889 IST [shim] SetupChaincodeLogging -> INFO 002
Chaincode (build level: ) starting up ...
Error starting chaincode error chaincode id not provided
But inspite of this go version error the trade app works.
But to vendor it right I would need to resolve it.
What are the steps for vendoring?
Thanks
Gowri
On Tue, 7 Aug 2018 at 3:52 PM, Gowri R<EMAIL_ADDRESS>wrote:

I have all the containers I need up:

Orderer
Two peers one in each organisation - consumer and utility
3 and two CA’s for each organisation

I get this message when I try to send the curl command for chaincode
instantiate.
The chaincode docker containers are created with something like
Dev0-peer0....-utility-v0
And these containers get deleted after the the messages that we are
referring to.
I can paste it for you in some time.
Please do let me know if you need more details.
Thanks
Gowri
On Tue, 7 Aug 2018 at 3:45 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

Based on logs like these:
peer0.consumerorg.demandresponse.com | 2018-07-29 05:10:11.064 UTC [dev-peer0.consumerorg.demandresponse.com-utilitycc-v0] func2 -> INFO 1319 2018-07-29 05:10:11.063 UTC [grpc] Printf -> DEBU 002 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.consumerorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.consumerorg.demandresponse.com:7052 }
it doesn't look like your network is starting up properly.
What does docker ps -a reveal?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411007517,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk496-qWonGYTyrJh5nHy1wV2Xmw2ks5uOWjHgaJpZM4VxrPH
.

It's referring to https://github.com/HyperledgerHandsOn/trade-finance-logistics/tree/master/chaincode/src/github.com/trade_workflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim (already present in the vendor folder within the chaincode.)
 Don't try to look for vendored library paths on your host machine.
In any case, if you want to vendor your code, you need the govendor executable, which you can install using go get -u github.com/kardianos/govendor. Then run govendor init; govendor add +external +local +vendor.

According to your earlier comment:  The network runs well, the GO code compiled well in the Dev environment, test cases ran well.
If the chaincode works fine in dev mode, it ought to work fine in net mode too.

Hello,
"Error starting chaincode error chaincode id not provided
Can you copy-paste the curl command you are using for instantiation?"
This error is on the local VM on typing $go version
Thanks
On Tue, Aug 7, 2018 at 4:51 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

Error starting chaincode error chaincode id not provided
Can you copy-paste the curl command you are using for instantiation?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411023068,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGkxoIKTepV9b1Mzi-AFjzPZ42cJcvks5uOXgtgaJpZM4VxrPH
.

According to your earlier comment: The network runs well, the GO code
compiled well in the Dev environment, test cases ran well.
If the chaincode works fine in dev mode, it ought to work fine in net mode
too.
-> Yes but it does not. The docker containers get created and get deleted
almost immediately. I suspect GO vendoring and I get those errors on the
Blockchain terminal but am not sure.
Should i bother about errors on the editior on the local VM?
Thanks
On Tue, Aug 7, 2018 at 4:47 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

According to your earlier comment: The network runs well, the GO code
compiled well in the Dev environment, test cases ran well.
If the chaincode works fine in dev mode, it ought to work fine in net mode
too.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411022312,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk1vXtKtSUF5F_U3TO6-Q55TtClZGks5uOXdngaJpZM4VxrPH
.

It's referring to https://github.com/HyperledgerHandsOn/trade-
finance-logistics/tree/master/chaincode/src/github.com/
trade_workflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim
(already
present in the vendor folder within the chaincode.)
What is *it *here? and *which vendor folder *are you talking about?
Could you elaborate on this please?
I have one here -
hypledvm@hypledvm-VirtualBox:~/go/src/*demandresponsepoc/*chaincode/src/
github.com/trade_workflow$ ls
accessControlUtils.go  assets.go  constants.go  keyUtils.go
tradeWorkflow.go  tradeWorkflow_test.go  vendor
This is my modified app, my tradeWorkflow.go is currently empty, it has
only *Init and no Invoke *and still this deletion of containers happens.
I had one utility_workflow.go in which I had different functions and the
build and test cases had worked on the chaincode container.
But since this error came in the *net mode, *I have stripped all the code
and now I have only Init and still this error comes.
Thanks
Gowri
On Tue, Aug 7, 2018 at 4:35 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

It's referring to https://github.com/HyperledgerHandsOn/trade-
finance-logistics/tree/master/chaincode/src/github.com/
trade_workflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim
(already present in the vendor folder within the chaincode.)
 Don't try to look for
vendored library paths on your host machine.
In any case, if you want to vendor your code, you need the govendor
executable, which you can install using go get -u
github.com/kardianos/govendor. Then run govendor init; govendor add
+external +local +vendor.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411019568,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk5kBXaptrx05nnNle60Wlic_1YITks5uOXRygaJpZM4VxrPH
.

With respect to this  comment of yours -
"It's referring to https://github.com/HyperledgerHandsOn/trade-finance-
logistics/tree/master/chaincode/src/github.com/trade_
workflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim (already
present in the vendor folder within the chaincode.)
 Don't try to look for
vendored library paths on your host machine."
*Who / which code creates the chaincode container and which folder does it
take? *How does it pick up all other parameters? Where does it take the
name of the container and the parameters (dev-peer0.consumerorg.
demandresponse.com-utilitycc-v2 is what gets created)?
peer0.consumerorg.demandresponse.com
http://peer0.consumerorg.demandresponse.com    | 2018-07-28 17:00:50.247
UTC [dockercontroller] Start -> DEBU 1664 Started container
*dev-peer0.consumerorg.**demandresponse.com-utilitycc-*v2
Thanks
Gowri
On Tue, Aug 7, 2018 at 4:35 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

It's referring to https://github.com/HyperledgerHandsOn/trade-
finance-logistics/tree/master/chaincode/src/github.com/
trade_workflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim
(already present in the vendor folder within the chaincode.)
 Don't try to look for
vendored library paths on your host machine.
In any case, if you want to vendor your code, you need the govendor
executable, which you can install using go get -u
github.com/kardianos/govendor. Then run govendor init; govendor add
+external +local +vendor.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411019568,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk5kBXaptrx05nnNle60Wlic_1YITks5uOXRygaJpZM4VxrPH
.

Here is the curl command
curl -s -X POST http://localhost:4000/chaincode/instantiate -H
"authorization:Bearer
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1MzI4NDUxMDgsInVzZXJuYW1lIjoiYWRtaW4iLCJvcmdOYW1lIjoidXRpbGl0eW9yZyIsImlhdCI6MTUzMjg0MDk2OH0.Pk_CoxWqgSRPYVS3quqYtKBDSYDKoR2v1Vfo6vHuMeU"
-H "content-type: application/json" -d '{"ccpath": "
github.com/trade_workflow", "ccversion": "v0", "args": ["requestToReduce",
"2ks89m9", "100", "REQUESTED"]}'
Gowri
On Tue, Aug 7, 2018 at 4:51 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

Error starting chaincode error chaincode id not provided
Can you copy-paste the curl command you are using for instantiation?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411023068,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGkxoIKTepV9b1Mzi-AFjzPZ42cJcvks5uOXgtgaJpZM4VxrPH
.

@sahirvsahirv In net mode, the chaincode containers are created and launched by the Fabric peers. When you send instructions to install and instantiate chaincode, that process happens under the covers. Those instructions and the API being exercised is described in Chapter 5 of the book. Also described there are the configuration files where you specify the chaincode ID, folder where the chaincode is located, endorsement policy, etc. You just need to adapt these configuration parameters for your use case. Please use the instructions specified in the book (and in this code repository) as guidelines.

Yes there I have made the neccessary changes with respect to my code.
This part I have followed and the code is the same except for the other in
constants.js rest is the same
Gowri
On Tue, 7 Aug 2018 at 6:08 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

@sahirvsahirv https://github.com/sahirvsahirv In net mode, the
chaincode containers are created and launched by the Fabric peers. When you
send instructions to install and instantiate chaincode, that process
happens under the covers. Those instructions and the API being exercised is
described in Chapter 5 of the book. Also described there are the
configuration files where you specify the chaincode ID, folder where the
chaincode is located, endorsement policy, etc. You just need to adapt these
configuration parameters for your use case. Please use the instructions
specified in the book (and in this code repository) as guidelines.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411041527,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk80cDY3EaStpEbEx2dYQwRgj2KVmks5uOYpigaJpZM4VxrPH
.

Can you provide container logs?

Run docker ps -a
Pick a container with a name dev-.... and note its' container ID
Run docker logs <container ID>

A general point: your comments are quite hard to read. Please use markdown syntax to separate and mark quotes, logs, and your own words.

That is the container that gets created and deleted almost immediately due
to some error, hence I could not see the logs too of the chaincode
containers created
On Tue, 7 Aug 2018 at 6:17 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

Can you provide container logs?

Run docker ps -a
Pick a container with a name dev-.... and note its' container ID
Run docker logs

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411043691,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGkxfPWOvTikWw6HBMTxAT-CJABE88ks5uOYxJgaJpZM4VxrPH
.

You should still be able to get the logs. Do you see the container listed when you run docker ps -a, albeit with an "Exited" status?

error trying to connect to local peer
github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim.userChaincodeStreamGetter
/chaincode/input/src/github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:111
github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim.Start
/chaincode/input/src/github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:150
main.main
/chaincode/input/src/github.com/utilityWorkflow/utility_workflow.go:393
runtime.main
/opt/go/src/runtime/proc.go:198
runtime.goexit
/opt/go/src/runtime/asm_amd64.s:2361
started chaincodeError starting chaincode error trying to connect to local peer: context deadline exceeded
I shall respond from github. Was doing it by mail

Sorry, I don't understand what's going on. I'll have to understand every bit of your setup to know where you are going wrong. Clearly something is misconfigured. Since the sample trade application ran successfully, I'm guessing there's nothing unusual about the platform.
You need to retry this process incrementally to see if you've understood all the steps.

Go back to the original sample.
Modify just the chaincode internals to what you need it to be, and run the middleware scripts suitably (don't forget to change the function names and arguments.)
Once that works, change application and organization names, keeping the network structure as is.
Once that works too, change your network structure to add/remove peers and CAs.

If you find something fails at any given point, that should tell you where to investigate further.

Thanks for patiently trying to solve the issue. I shall try your approach.
One last try- i just started the app again.
hypledvm@hypledvm-VirtualBox:~/go/src/fabric/core/chaincode$ docker logs dev-peer0.utilityorg.demandresponse.com-utilitycc-v0
2018-07-29 12:02:06.411 UTC [bccsp] initBCCSP -> DEBU 001 Initialize BCCSP [SW]
2018-07-29 12:02:08.775 UTC [grpc] Printf -> DEBU 002 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.utilityorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.utilityorg.demandresponse.com:7052 }
2018-07-29 12:02:08.894 UTC [grpc] Printf -> DEBU 003 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.utilityorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.utilityorg.demandresponse.com:7052 }
2018-07-29 12:02:09.484 UTC [shim] userChaincodeStreamGetter -> ERRO 004 context deadline exceeded
error trying to connect to local peer
github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim.userChaincodeStreamGetter
/chaincode/input/src/github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:111
github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim.Start
/chaincode/input/src/github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:150
main.main
/chaincode/input/src/github.com/utilityWorkflow/utility_workflow.go:378
runtime.main
/opt/go/src/runtime/proc.go:198
runtime.goexit
/opt/go/src/runtime/asm_amd64.s:2361
Error starting chaincode error trying to connect to local peer: context deadline exceededhy
And the peer's logs
2018-07-29 12:02:03.693 UTC [chaincode] Notify -> DEBU 2d0 [56af6ecd] notifying Txid:56af6ecd348c4e2df494b690f9b2b5239c50cd82d8a14a58c2a2336ac51437d5, channelID:demandresponsechannel
2018-07-29 12:02:03.693 UTC [chaincode] Execute -> DEBU 2d1 Exit
2018-07-29 12:02:03.701 UTC [ccprovider] NewCCContext -> DEBU 2d2 NewCCCC(chain=demandresponsechannel,chaincode=utilitycc,version=v0,txid=56af6ecd348c4e2df494b690f9b2b5239c50cd82d8a14a58c2a2336ac51437d5,syscc=false,proposal=0xc42034b310,canname=utilitycc:v0)
2018-07-29 12:02:03.730 UTC [chaincode] func1 -> DEBU 2d3 chaincode utilitycc:v0 is being launched
2018-07-29 12:02:03.743 UTC [chaincode] LaunchConfig -> DEBU 2d4 launchConfig: executable:"chaincode",Args:[chaincode,-peer.address=peer0.utilityorg.demandresponse.com:7052],Envs:[CORE_CHAINCODE_LOGGING_LEVEL=DEBUG,CORE_CHAINCODE_LOGGING_SHIM=warning,CORE_CHAINCODE_LOGGING_FORMAT=%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message},CORE_CHAINCODE_ID_NAME=utilitycc:v0,CORE_PEER_TLS_ENABLED=true,CORE_TLS_CLIENT_KEY_PATH=/etc/hyperledger/fabric/client.key,CORE_TLS_CLIENT_CERT_PATH=/etc/hyperledger/fabric/client.crt,CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/peer.crt],Files:[/etc/hyperledger/fabric/client.crt /etc/hyperledger/fabric/client.key /etc/hyperledger/fabric/peer.crt]
2018-07-29 12:02:03.743 UTC [chaincode] Start -> DEBU 2d5 start container: utilitycc:v0
2018-07-29 12:02:03.743 UTC [chaincode] Start -> DEBU 2d6 start container with args: chaincode -peer.address=peer0.utilityorg.demandresponse.com:7052
2018-07-29 12:02:03.743 UTC [chaincode] Start -> DEBU 2d7 start container with env:
CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
CORE_CHAINCODE_LOGGING_SHIM=warning
CORE_CHAINCODE_LOGGING_FORMAT=%{color}%{time:2006-01-02 15:04:05.000 MST} [%{module}] %{shortfunc} -> %{level:.4s} %{id:03x}%{color:reset} %{message}
CORE_CHAINCODE_ID_NAME=utilitycc:v0
CORE_PEER_TLS_ENABLED=true
CORE_TLS_CLIENT_KEY_PATH=/etc/hyperledger/fabric/client.key
CORE_TLS_CLIENT_CERT_PATH=/etc/hyperledger/fabric/client.crt
CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/peer.crt
2018-07-29 12:02:03.743 UTC [container] lockContainer -> DEBU 2d8 waiting for container(utilitycc-v0) lock
2018-07-29 12:02:03.743 UTC [container] lockContainer -> DEBU 2d9 got container (utilitycc-v0) lock
2018-07-29 12:02:03.743 UTC [dockercontroller] Start -> DEBU 2da Cleanup container dev-peer0.utilityorg.demandresponse.com-utilitycc-v0
2018-07-29 12:02:03.772 UTC [dockercontroller] stopInternal -> DEBU 2db Stop container dev-peer0.utilityorg.demandresponse.com-utilitycc-v0(No such container: dev-peer0.utilityorg.demandresponse.com-utilitycc-v0)
2018-07-29 12:02:03.817 UTC [dockercontroller] stopInternal -> DEBU 2dc Kill container dev-peer0.utilityorg.demandresponse.com-utilitycc-v0 (No such container: dev-peer0.utilityorg.demandresponse.com-utilitycc-v0)
2018-07-29 12:02:03.926 UTC [dockercontroller] stopInternal -> DEBU 2dd Remove container dev-peer0.utilityorg.demandresponse.com-utilitycc-v0 (No such container: dev-peer0.utilityorg.demandresponse.com-utilitycc-v0)
2018-07-29 12:02:03.926 UTC [dockercontroller] Start -> DEBU 2de Start container dev-peer0.utilityorg.demandresponse.com-utilitycc-v0
2018-07-29 12:02:03.926 UTC [dockercontroller] getDockerHostConfig -> DEBU 2df docker container hostconfig NetworkMode: host
2018-07-29 12:02:03.926 UTC [dockercontroller] createContainer -> DEBU 2e0 Create container: dev-peer0.utilityorg.demandresponse.com-utilitycc-v0
2018-07-29 12:02:04.423 UTC [dockercontroller] createContainer -> DEBU 2e1 Created container: dev-peer0.utilityorg.demandresponse.com-utilitycc-v0-4165f41eaf3d95592c4f2508564fde86107a74b16f6a10bbe6476b65824eba0c
2018-07-29 12:02:05.405 UTC [gossip/discovery] periodicalSendAlive -> DEBU 2e2 Sleeping 5s
2018-07-29 12:02:06.100 UTC [dockercontroller] Start -> DEBU 2e3 Started container dev-peer0.utilityorg.demandresponse.com-utilitycc-v0
2018-07-29 12:02:06.101 UTC [container] unlockContainer -> DEBU 2e4 container lock deleted(utilitycc-v0)
2018-07-29 12:02:06.208 UTC [gossip/election] waitForInterrupt -> DEBU 2e5 [77 75 232 27 71 160 196 248 207 51 245 22 26 57 43 147 34 46 9 162 187 1 99 100 237 214 102 133 86 205 121 156] : Exiting
2018-07-29 12:02:06.208 UTC [gossip/election] IsLeader -> DEBU 2e6 [77 75 232 27 71 160 196 248 207 51 245 22 26 57 43 147 34 46 9 162 187 1 99 100 237 214 102 133 86 205 121 156] : Returning true
2018-07-29 12:02:06.208 UTC [gossip/election] waitForInterrupt -> DEBU 2e7 [77 75 232 27 71 160 196 248 207 51 245 22 26 57 43 147 34 46 9 162 187 1 99 100 237 214 102 133 86 205 121 156] : Entering
2018-07-29 12:02:06.413 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2e8 2018-07-29 12:02:06.411 UTC [bccsp] initBCCSP -> DEBU 001 Initialize BCCSP [SW]
2018-07-29 12:02:08.776 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2e9 2018-07-29 12:02:08.775 UTC [grpc] Printf -> DEBU 002 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.utilityorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.utilityorg.demandresponse.com:7052 }
2018-07-29 12:02:08.894 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2ea 2018-07-29 12:02:08.894 UTC [grpc] Printf -> DEBU 003 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: Error while dialing dial tcp: lookup peer0.utilityorg.demandresponse.com on <IP_ADDRESS>:53: no such host"; Reconnecting to {peer0.utilityorg.demandresponse.com:7052 }
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2eb 2018-07-29 12:02:09.484 UTC [shim] userChaincodeStreamGetter -> ERRO 004 context deadline exceeded
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2ec error trying to connect to local peer
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2ed github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim.userChaincodeStreamGetter
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2ee 	/chaincode/input/src/github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:111
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2ef github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim.Start
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2f0 	/chaincode/input/src/github.com/utilityWorkflow/vendor/github.com/hyperledger/fabric/core/chaincode/shim/chaincode.go:150
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2f1 main.main
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2f2 	/chaincode/input/src/github.com/utilityWorkflow/utility_workflow.go:378
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2f3 runtime.main
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2f4 	/opt/go/src/runtime/proc.go:198
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2f5 runtime.goexit
2018-07-29 12:02:09.491 UTC [dev-peer0.utilityorg.demandresponse.com-utilitycc-v0] func2 -> INFO 2f6 	/opt/go/src/runtime/asm_amd64.s:2361
2018-07-29 12:02:10.228 UTC [dockercontroller] func2 -> INFO 2f7 Container dev-peer0.utilityorg.demandresponse.com-utilitycc-v0 has closed its IO channel

Hmm.....these are unusual chaincode logs. Can you please zip up your chaincode folder (just the trade_workflow/ and everything within) and upload it here? I might be able to give you some hints then.

trade_workflow.tar.gz
This is the stripped down version - which literally has no code

Ahh.....you are not supposed to comment out the Invoke function.
Thumb rule: to test whether your chaincode is working without having to go through the process of deploying and instantiating it, just run go build in the folder where you have source code with a main function.

But this was uncommented with the whole code present and it still gave me
this error. It is only then I had started stripping it.
And for go build, it does not work and so does not go version
hypledvm@hypledvm-VirtualBox:~/go/src/demandresponsepoc/chaincode/src/
github.com/trade_workflow$ go build
2018-07-29 18:04:35.905 IST [shim] SetupChaincodeLogging -> INFO 001
Chaincode log level not provided; defaulting to: INFO
2018-07-29 18:04:35.905 IST [shim] SetupChaincodeLogging -> INFO 002
Chaincode (build level: ) starting up ...
Error starting chaincode error chaincode id not provided
I am not sure how to resolve this too.
Gowri
On Tue, Aug 7, 2018 at 7:10 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

Ahh.....you are not supposed to comment out the Invoke function.
Thumb rule: to test whether your chaincode is working without having to
go through the process of deploying and instantiating it, just run go
build in the folder where you have source code with a main function.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411059589,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk3y8zrCfVvNw5ADxxTAMZ1sg7_OMks5uOZjCgaJpZM4VxrPH
.

Would request you to give me some pointer son resolving the go version/go build error. The problem is I am not able to debug the issue. Post that, I shall approach the problem again afresh and change it little by little. Do you suggest uninstalling and reinstalling go on my VM?

And this was working in one of my earlier snapshots - and it got corrupted somewhere mid way. I had tested my dev mode chaincode and test cases and then only moved to net mode.

You only need to run go ... for testing purposes, and not to run the blockchain or the application, where all the action is happening within the containers.
If you are unfamiliar with the basics of Go, I'm afraid you'll have to spend some time training yourself in it. You won't be able to work with Fabric chaincode without some expertise in that language. Our book was not meant to be a Go primer; our readers are expected to have basic familiarity with the language. To install the tools, you can start here: https://golang.org/doc/install.

Thanks I shall act on your suggestions.
You mean if I stop the blockchain and app.Go will not give that error ?
Please consider this as my last question for now.
I have bothered you enough
Thanks
Gowri
On Tue, 7 Aug 2018 at 7:35 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

You only need to run go ... for testing purposes, and not to run the
blockchain or the application, where all the action is happening within the
containers.
If you are unfamiliar with the basics of Go, I'm afraid you'll have to
spend some time training yourself in it. You won't be able to work with
Fabric chaincode without some expertise in that language. Our book was not
meant to be a Go primer; our readers are expected to have basic familiarity
with the language. To install the tools, you can start here:
https://golang.org/doc/install.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411068194,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk8QtJNWcjw4NeOR4n4fymj1VJNz0ks5uOZ6fgaJpZM4VxrPH
.

BTW....there's nothing wrong with your chaincode package as such. After adding back an (empty) Invoke function and changing the checks in the Init function, your chaincode was successfully instantiated.

I shall try the same and get back to you.
I will take a while. I guess I had not tried an empty invoke but tried
removing it.
I shall revert to you by noon tomorrow.
Very thankful for responding patiently.
Gowri
On Tue, 7 Aug 2018 at 7:41 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

BTW....there's nothing wrong with your chaincode package as such. After
adding back an (empty) Invoke function and changing the checks in the Init
function, your chaincode was successfully instantiated.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411070237,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk0kQe6b3X0_ebfKBz_lkuaMzQjFAks5uOaAJgaJpZM4VxrPH
.

Thanks. Will check with your version.
On Tue, 7 Aug 2018 at 7:52 PM, VRamakrishna<EMAIL_ADDRESS>wrote:

The Invoke function isn't literally empty; that will throw an error too.
I'm attaching the revised source file below.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/HyperledgerHandsOn/trade-finance-logistics/issues/28#issuecomment-411074134,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATQGk3NBd3ZD28zZ5fwZp1YC9xMVckUnks5uOaKggaJpZM4VxrPH
.

Hello, I am still getting the error. I shall redo it again and change it bit by bit and see.
Could you help me with running go version on my VM? Does it have to be re-installed or is it that through some config file it is trying to pick up chaincodes and gives the error.
$ go version
2018-07-30 10:02:02.038 IST [shim] SetupChaincodeLogging -> INFO 001 Chaincode log level not provided; defaulting to: INFO
2018-07-30 10:02:02.041 IST [shim] SetupChaincodeLogging -> INFO 002 Chaincode (build level: ) starting up ...
Error starting chaincode error chaincode id not provided
It would be great if you could help me solve this. Appreciate your patience in helping me out.

There's nothing special about go version. You need to install the Go language tools, some of which you get by default and others (like govendor) which you have to install explicitly. You'll have to follow the instructions on the Go language website, which are pretty comprehensive. I'm afraid I can't guide you through the details of Golang setup; I just don't have the time.

Thanks for responding. I am baffled by the error that it throws on typing "go version" or "go build" - it says - "Error starting chaincode error chaincode id not provided"
instead of showing the version or building (I have rolled back to an earlier snapshot and typing "go version" there gives the right version). I was curious as to why this is happening.
I completely appreciate your effort in helping me out in spite of being so busy.

Like I mentioned earlier, the blockchain platform and application components in our example are configured to run in containers, which are isolated and internally configured with Go tools and other software. What you have installed on your host machine (other than docker itself) should have no bearing on how your blockchain application runs. Now, it's good practice to install Go in order to test your chaincode before running a full-fledged application, but it's not mandatory.
As for the error you are getting: do you recall how you installed Go on your system? Go has nothing to do with chaincode (which is parlance specific to Hyperledger Fabric.) And where exactly (what machine/container) are you running go version in?

Yes, I get that. I am trying to get it rectified so that I can test changes before it goes into the container created by the peer container.
With regards to the error,

As for the error you are getting: do you recall how you installed Go on your

system?

I followed your book and installed it from - https://golang.org/doc/install

Go has nothing to do with chaincode (which is parlance specific to Hyperledger Fabric.

Yes, that is why the error baffles me and I am not able to find the solution for it elsewhere as well.

And where exactly (what machine/container) are you running go version

in?
I get this error on the Ubuntu VM (I have a Ubuntu VM running on the Ubuntu server so that I can take snapshots). This VM has all the code. This error occurs all the time. Even when none of the docker containers are running.

Please reinstall Go and retry then. Go 1.9 should work.

Thanks a ton. Truly grateful for your patient responses.  I shall do the same.


denemo: 2.4.0 -> 2.5.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/denemo/versions.
meta.description for denemo is: "Music notation and composition software used with lilypond"
meta.homepage for denemo is: "http://denemo.org"
meta.changelog for denemo is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.5.0 with grep in /nix/store/xkhmsc0xxnzk5zld2pigy5q7n85f02ys-denemo-2.5.0

directory tree listing: https://gist.github.com/67c5505fa1a052d07792bad14e71f045

du listing: https://gist.github.com/a4cb1b150e29b61b3c9667f5cc33e2a8

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
denemo

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/xkhmsc0xxnzk5zld2pigy5q7n85f02ys-denemo-2.5.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A denemo https://github.com/r-ryantm/nixpkgs/archive/098f7587fc4d30bf626e07091c19ad79e4f2d920.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/xkhmsc0xxnzk5zld2pigy5q7n85f02ys-denemo-2.5.0
ls -la /nix/store/xkhmsc0xxnzk5zld2pigy5q7n85f02ys-denemo-2.5.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

denemo

Maintainer pings
cc @olynch for testing.

Result of nixpkgs-review pr 114962 at 098f7587 run on aarch64-linux 1

1 package built:

denemo

1 suggestion:

warning: unclear-gpl
gpl3 is a deprecated license, check if project uses gpl3Plus or gpl3Only and change meta.license accordingly.
Near pkgs/applications/audio/denemo/default.nix:37:5:
   |
37 |     license = licenses.gpl3;
   |     ^


feature: support air gap scenarios in charts-syncer

Full air gap support in this PR!
Notable changes

There have been some re-organization in the packages
We went from this:

pkg
├── client
│   ├── chartmuseum
│   ├── core
│   ├── harbor
│   ├── helmclassic
│   ├── local
│   ├── oci
│   └── types
├── syncer
└── testdata
    └── charts

to this:
pkg
├── client
│   ├── intermediate
│   ├── repo
│   │   ├── chartmuseum
│   │   ├── harbor
│   │   ├── helmclassic
│   │   ├── local
│   │   └── oci
│   └── types
├── syncer
└── testdata
    └── charts

There is a new package called intermediate with the client for this implementation.

Source and Target configuration sections now supports a single string to indicate the intermediate bundles path. It is a oneof so only a repo or a path can be defined.

Example of use for air gap environments:
Download bundles
Use a config file like this:
source:
  repo:
    kind: CHARTMUSEUM
    url: http://localhost:8080
target:
  intermediateBundlesPath: /Users/tpizarro/Desktop/workspace/charts-syncer-ws/bundles
charts:
  - apache

Execute charts-syncer:
$ charts-syncer sync --config ./config-download-bundles.yaml

Move bundles
Move the bundles from the target path to the air gapped machine however you want.
Upload bundles
Use a similar config file:
source:
  intermediateBundlesPath: /Users/tpizarro/Desktop/workspace/charts-syncer-ws/bundles
target:
  repoName: myrepo
  containerRegistry: demo.goharbor.io
  containerRepository: tpizarro/containers
  repo:
    kind: CHARTMUSEUM
    url: http://localhost:9090

Execute charts-syncer:
$ charts-syncer sync --config ./config-upload-bundles.yaml

:warning: DISCLAIMER
I plan to add the documentation in a separated PR
I plan to add some tests later to this PR
I also plan to improve config file validations

I tested out this PR and something I noticed is that in the first leg (repo => intermediateBundleDir) we also store the bundles for the subcharts.
For example if I run the sync with the following configuration, I get the memcached bundles too.
source:
  repo:
    kind: HELM
    url: https://charts.app-catalog.vmware.com/demo
target:
  intermediateBundlesPath: "bundles"
charts:
  - "wordpress"

This is unnecessary since relok8s does not care about non vendored charts (yet). In fact when you run the second leg of the relocation (intermediate-bundle => Helm repo) those get ignored since they are filtered out (I initially just asked for wordpress charts)

@josvazg, @jotadrilo, @migmartri  if you agree I don't want to add more things to this PR as it is already complex enough. However, once this PR gets landed I will work on the following PRs:

Add tests
Add documentation
Rename interface names to something more meaningful
Remove Reload() method from current interface as it is not used at all
Allow skip dependency resolution when using relok8s. Due to the unexpected behaviour noticed by Migue here

I am OK!

@josvazg, @jotadrilo, @migmartri if you agree I don't want to add more things to this PR as it is already complex enough. However, once this PR gets landed I will work on the following PRs:

Add tests
Add documentation
Rename interface names to something more meaningful
Remove Reload() method from current interface as it is not used at all
Allow skip dependency resolution when using relok8s. Due to the unexpected behaviour noticed by Migue here

LGTM

This is awesome BTW, great job!


feat(clap): show help menu on no args as well

This pr adds support for help menu when the end user doesn't provide any argument
POC:
before:

now:

Oh, very nice. Thanks a lot @pwnwriter!