gcc does not support "-Wno-error=shorten-64-to-32"

ruby-build script contains following workaround for clang:
# Work around warnings building Ruby 2.0 on Clang 2.x
if type clang &>/dev/null; then
  if "${CC:-clang}" -x c /dev/null -E -Wno-error=shorten-64-to-32 &>/dev/null; then
    RUBY_CFLAGS="$RUBY_CFLAGS -Wno-error=shorten-64-to-32"
  fi
fi

If both gcc and clang installed and cc is gcc, the above workaround will be triggered wrongly and result in failing to compile anything:
configure:3741: checking whether the C compiler works
configure:3763: gcc   -Wno-error=shorten-64-to-32 -I'/home/quark/.rbenv/versions/2.0.0-p0/include'  -L'/home/quark/.rbenv/versions/2.0.0-p0/lib'  conftest.c  >&5
cc1: error: -Werror=shorten-64-to-32: no option -Wshorten-64-to-32
configure:3767: $? = 1
configure:3805: result: no
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define CANONICALIZATION_FOR_MATHN 1
| #define RUBY_BASE_NAME "ruby" !<verconf>!
| #define RUBY_VERSION_NAME RUBY_BASE_NAME"-"RUBY_LIB_VERSION !<verconf>!
| /* end confdefs.h.  */
|
| int
| main ()
| {
|
|   ;
|   return 0;
| }
configure:3810: error: in `/tmp/ruby-build.20130310154119.10022/ruby-2.0.0-p0':
configure:3812: error: C compiler cannot create executables
See `config.log' for more details

How about changing ${CC:-clang} to ${CC:-cc} in the workaround script?

Despite this issue is two years long I had to do this patch manually a month ago.
$ ruby-build --version
ruby-build 20150818

@Nakilon That's strange. This is what ruby-build has right now:
if "${CC:-cc}" -x c /dev/null -E -Wno-error=shorten-64-to-32 &>/dev/null; then
  RUBY_CFLAGS="-O3 -Wno-error=shorten-64-to-32 $RUBY_CFLAGS"
fi

What state was your file in, and what did you have to remove?

I'm now having this issue, bundle install fails.
current directory: /Users/lancejordan/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/unf_ext-<IP_ADDRESS>/ext/unf_ext
/Users/lancejordan/.rbenv/versions/2.3.0/bin/ruby -r ./siteconf20151230-25006-12oc2t3.rb extconf.rb
checking for main() in -lstdc++... yes
creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/lancejordan/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-13/2.3.0-static/unf_ext-<IP_ADDRESS>/mkmf.log

current directory: /Users/lancejordan/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/unf_ext-<IP_ADDRESS>/ext/unf_ext
make "DESTDIR=" clean

current directory: /Users/lancejordan/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/unf_ext-<IP_ADDRESS>/ext/unf_ext
make "DESTDIR="
compiling unf.cc
g++: error: unrecognized command line option ‘-Wshorten-64-to-32’
g++: error: unrecognized command line option ‘-Wdivision-by-zero’
g++: error: unrecognized command line option ‘-Wextra-tokens’
make: *** [unf.o] Error 1

make failed, exit code 2

and
current directory: /Users/lancejordan/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/eventmachine-1.0.7/ext
/Users/lancejordan/.rbenv/versions/2.3.0/bin/ruby -r ./siteconf20151230-25006-1kq1ce.rb extconf.rb
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... no
checking for ruby/thread.h... yes
checking for rb_thread_call_without_gvl() in ruby/thread.h... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... yes
checking for rb_thread_fd_select()... yes
checking for rb_fdset_t in ruby/intern.h... yes
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for sys/event.h... yes
checking for sys/queue.h... yes
checking for clock_gettime()... no
checking for gethrtime()... no
creating Makefile

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /Users/lancejordan/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/extensions/x86_64-darwin-13/2.3.0-static/eventmachine-1.0.7/mkmf.log

current directory: /Users/lancejordan/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/eventmachine-1.0.7/ext
make "DESTDIR=" clean

current directory: /Users/lancejordan/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/eventmachine-1.0.7/ext
make "DESTDIR="
compiling binder.cpp
g++: error: unrecognized command line option ‘-Wshorten-64-to-32’
g++: error: unrecognized command line option ‘-Wdivision-by-zero’
g++: error: unrecognized command line option ‘-Wextra-tokens’
make: *** [binder.o] Error 1

make failed, exit code 2

@lacostenycoder did you find a solution for the unf_ext compilation error?

@lacostenycoder did you find a solution for the unf_ext compilation error?

I'm on FreeBSD and I have the same issue when I have gcc and clang installed at the same time. The default compiler is clang. Even explicitly setting CC to clang gives the same results:
$ CC=clang RUBY_CONFIGURE_OPTS=--with-opt-dir=/usr/local ruby-build 2.3.1 ~/.rubies/ruby-2.3.1
$ cd ~/discourse
$ bundle install --deployment --without test --without development
current directory:
/usr/home/discourse/discourse/vendor/bundle/ruby/2.3.0/gems/unf_ext-<IP_ADDRESS>/ext/unf_ext
make "DESTDIR="
compiling unf.cc
g++: error: unrecognized command line option '-Wshorten-64-to-32'
g++: error: unrecognized command line option '-Wdivision-by-zero'
g++: error: unrecognized command line option '-Wextra-tokens'
*** Error code 1

config.log shows the configure script recognizes clang and g++ at the same time. I'm not sure why the configure script mix up compilers. Removing gcc fixed that though.

@glaszig @NuLL3rr0r  I'm on Mac OSX with Homebrew.  My solution was centered around my $PATH variable to use my system defaults loading /usr/bin/* first
If I loaded /usr/local/bin first, that's when all would fail.
~ % g++ -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
~ % gcc -v
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
~ % clang -v
Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin13.3.0
Thread model: posix
~ % which gcc
/usr/bin/gcc
~ % which g++
/usr/bin/g++
~ % which clang
/usr/bin/clang
~ % which cc
/usr/bin/cc

Not sure if that helps but hopefully it sheds some kind of light.

@lacostenycoder thank you so much for the info. I'll try that next time to see what happens.
Thank you.


Using timesheet-dev3-evoludata-com

I'm trying out timesheet-dev3-evoludata-com and ran into some questions. Shall I list them here or is there an issue tracker elsewhere you prefer to use?
First issue: how to manually add an entry
-> see #46

Yes, please list them here. Answered the first one in #46

I can now log in as michielbdejong and see Victor's hours in the GUI in http://timesheet.dev3.evoludata.com/tracker2 \o/
Will find the API docs and see if I can fetch them with curl.

curl -X 'GET' \
  'https://timesheet.dev3.evoludata.com/api/tabulars' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer dbcafe758b...'

{
  "title": "Tabular Formats",
  "list": [
    {
      "tabularId": "6",
      "name": "Timesheet - Full",
      "trackerId": "2"
    },
    {
      "tabularId": "7",
      "name": "Timesheet - Time",
      "trackerId": "2"
    },
    {
      "tabularId": "8",
      "name": "Timesheet - Scoro",
      "trackerId": "2"
    },
    {
      "tabularId": "9",
      "name": "Timesheet - Mite",
      "trackerId": "2"
    },
    {
      "tabularId": "10",
      "name": "Timesheet - pondersource",
      "trackerId": "2"
    },
    {
      "tabularId": "11",
      "name": "Timesheet - timeld",
      "trackerId": "2"
    }
  ]
}

So the tabulars seem to be export formats, all of them are for Tracker2 which is the one we want so that's good. I'll try 'full'

curl -X 'GET' \
  'https://timesheet.dev3.evoludata.com/api/tabulars/6/export' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer dbcafe758b...'

works! \o/

I received it from Ismoil via Slack message :)

OAuth server is not setup, I think. I can issue an access token for your user once you register. It is a manual operation for the moment.

Thanks both!  I've just seen on the relevant Federated Timesheets Wiki page that they can be obtained from Evoludata - now that I've registered, I'll request one from you by DM, @kroky.


Enable AI for Functions

Resource Provider
Microsoft.Insights
Description of Feature or Work Requested
We add all functionalities in AI commands instead of in functions commands for APM 2.1.
az monitor app-insights connect –resource resource-id-for-functions
We’ll tell users that –enable-profiler/debugger are currently only supported for .NET/.NET Core Web Apps in help document.
Minimum API Version Required

Swagger Link

Target Date

feature request


Error Pulling Manifest MacOSX

What is the issue?
Issue #5499 Continued
This issue is associate with the issue #5499, please see that issue for more context, after some testing on my Windows 11 Hyper-V machine I can confidently say this bug is exclusive to MacOS, please let me know if you have any ideas on how I can get this up and running again.
OS
macOS
GPU
Intel
CPU
Intel
Ollama version
0.1.48

Thanks @Moonlight1220. Closing this one to continue the conversation in #5499

Thank you!


Rethink order of points in results of contact mechanics

This was a comment from a user:

By the way, I'm not sure if the numbering of the gaps are correct, because once I extracted the data
the gaps were not numbered in sequence of increasing stress... I was able to find the order by
comparing the mean apertures and the images of the aperture fields, but maybe this is one point of
improvement (if the problem is not on my side, which could also be)...

Is there some natural order we should choose instead of output in the order of computation?

This comes up again and again and we should think about it. The problem is that I don’t want to rename files in the S3, but we could rename on the fly for download.


Add string.concat?

Wondering if it would make sense/be useful to add a string.concat() macro, that would allow for the following:
someStr: 'blah',
anotherStr: 'blarg',
yetAnotherStr: 'argh',
foo: string.concat('someStr', 'anotherStr', 'yetAnotherStr', raw('-')) // => "blah-blarg-argh"

I have a custom macro using lazyComputed() from ember-macro-helpers that is close to this:
import lazyComputed from 'ember-macro-helpers/lazy-computed';
import { isNone } from '@ember/utils';

export default function(...values) {
    const separator = values.pop();
    return lazyComputed(...values, (get, ...props) => {
        return props.map(prop => get(prop)).filter(val => !isNone(val)).join(separator);
    });
}

But would be nice to see this as part of ember-awesome-macro's otherwise comprehensive suite of macros. :)

You are probably already aware of this, but pointing it out just in case. It is already possible to do exactly what you want without the need for a custom macro by leveraging composition.
someStr: 'blah',
anotherStr: 'blarg',
yetAnotherStr: 'argh',
foo: join(collect('someStr', 'anotherStr', 'yetAnotherStr'), raw('-')) // => "blah-blarg-argh"

@mriska's comment is what you want, or tag
someStr: 'blah',
anotherStr: 'blarg',
yetAnotherStr: 'argh',
foo: tag`${'someStr'}-${'anotherStr'}-${'yetAnotherStr'}` // => "blah-blarg-argh"

ah perfect, thank you!


Path2D: Check points count before rendering.

The Bug:
Add a empty Path2D to the scene. The following error message is shown.

Likely an issue from https://github.com/godotengine/godot/pull/55516, where Path2D is drawn using draw_polyline whatever the number of points in the curve.

Thanks!

Cherry-picked for 3.5.


Add EventConsumer

Add an EventConsumer type, which consumes events rather than reading them. Good for simple automatic consumption, which is particularly likely to occur with the per-entity-events pattern found in #2116.

@NathanSWard this has all the functionality I want now and works correctly! Caught a serious existing bug in our Events::drain implementation where it wasn't resetting the metadata on the Events properly, which was revealed once I actually tried using it in an example.

FYI, I'm still a bit iffy about the single consumer nature of this. It makes me very worried about maintainability of systems using this code. That said, this is much simpler than a proper multiconsumer solution https://github.com/bevyengine/rfcs/pull/17 and builds on the existing architecture without any breaking changes.

FYI, I'm still a bit iffy about the single consumer nature of this. It makes me very worried about maintainability of systems using this code.

That's fair. Since this is a concern and we may not move forward with this, @alice-i-cecile is it alright if I rebase #2149 on main instead of this branch?

is it alright if I rebase #2149 on main instead of this branch?

Absolutely: that's an easy fix. FYI, the improvements I made to the drain methods are also strict improvements over the existing implementation, and solve a serious bug.

Do we have any further thoughts on this PR?
Some of the nuisances that EventConsumer bring to the table are not very user friendly.

I'm unhappy with both the current double buffering solution and the event consumer pattern here due to the likelihood of introducing unexpected and hard to mitigate bugs.
Seperate schedules may solve the fixed time step problem though, which would make me feel okay about double buffering again. Let's wait and see what comes of the pipelining work IMO.

Closing this out; it's not a great solution.


Cleanup simcore stack docker-compose's network and environment configs

Review docker-compose configurations for simcore stack.
Specifically, I have noticed in
https://github.com/ITISFoundation/osparc-ops-environments/blob/main/services/simcore/docker-compose.yml

environment section:

env vars already defined in osparc-simcore config e.g. https://github.com/ITISFoundation/osparc-ops-environments/blob/main/services/simcore/docker-compose.yml#L183
Debug env vars that might be active in production: https://github.com/ITISFoundation/osparc-ops-environments/blob/main/services/simcore/docker-compose.yml#L211-L220

network section: I assume only networks defined in ops should be added at this stage

default, ...  are networks that should be defined only in osparc-simcore config: https://github.com/ITISFoundation/osparc-ops-environments/blob/main/services/simcore/docker-compose.yml#L263  or https://github.com/ITISFoundation/osparc-ops-environments/blob/main/services/simcore/docker-compose.yml#L293-L295
why this internal service is public? https://github.com/ITISFoundation/osparc-ops-environments/blob/main/services/simcore/docker-compose.yml#L461

I discussed these with @YuryHrytsuk . I let you follow up as you consider best. thx

so @pcrespov @YuryHrytsuk and me already discussed the "default" network. This is actually something wrongly defined in osparc-simcore docker-compose. And this guy has to be defined there. naming it default was a bit of a bad idea I think since this is confusing. We should rename it to internal or something similar.


the page can not be found. 404 error. (template)

https://raw.githubusercontent.com/draios/sysdig-cloud-scripts/master/agent_deploy/kubernetes/sysdig-daemonset.yaml

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 7163e8ee-879a-f043-feaa-9c93cb7acce6
Version Independent ID: 0aae5d64-5c14-a6a2-247f-ca8402e16596
Content: Monitor Azure Kubernetes cluster - Sysdig
Content Source: articles/container-service/kubernetes/container-service-kubernetes-sysdig.md
Service: container-service
GitHub Login: @bburns
Microsoft Alias: bburns

@hakkiogretmen Thanks for the feedback! We are currently investigating and will update you shortly.

@MicahMcKittrick-MSFT It appears that bburns GitHub profile isn't linked to MicrosoftDocs. Is this something you can look into?

@hakkiogretmen I fixed the link. Once the merge is complete this issue will close and the change will go live in a few hours.


Request: New Filter to YouTube Manage

Hello,
first i wanna say thank you for your work, your tool looks pretty awesome.
I have a ton of music  sorted by Album Names.
Would it be possible to add a additional Filter for Albums?
Apparently i have not clean Tagged everything with Artists.

Hey,
You're quite welcome...
I will certainly have a look and see if it's feasible, although in this
instance I can't promise anything...
Thing is it's not meant to pre-fetch everything from YTM (i.e. albums and
songs). It pre-fetches the artists, then when you go to expand it does
another fetch for the alums and songs under the specifically selected
artist to keep it efficient.
Thinking aloud I could perhaps add a button to 'fetch all alums' Then you
could filter...
Leave it with me... Presently I'm enjoying the summer though  - When it
starts raining again (I live in England) I'll add some new feature and make
some tweaks.
Kind regards,
Jamie
On Sat, 12 Jun 2021, 20:26 missiah, @.***> wrote:

Hello,
first i wanna say thank you for your work, your tool looks pretty awesome.
I have a ton of music sorted by Album Names.
Would it be possible to add a additional Filter for Albums?
Apparently i have not clean Tagged everything with Artists.
[image: Neue Bitmap]
https://user-images.githubusercontent.com/57118418/121787091-6f85cb80-cbc4-11eb-8993-1cc1ab03f72f.jpg
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jamesbrindle/YTMusicUploader/issues/26, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACCL6XY22P6TASNIDUGEMTLTSOYE7ANCNFSM46TAIGVA
.

Appreciate that,
I still wish sunny weather completely selflessly.


Ported docs from md to rst #78

I have ported adapters, addresses and api using pandoc and fixed by hand some errors. I also replaced old types.rst with freshly generated from _types.md. It builds locally.

This is awesome @QuantumDamage thank you so much!!


./gradlew dokkaHtml fails

In the context of #2232, I'm interested in running the ./gradlew dokkaHtml that was introduced in #1466 as part of a (future, TBD) GitHub action which generates documentation, but I have noticed that this currently fails, like this:
 ./gradlew dokkaHtml
Directory '/usr/lib/jvm/java-11' (Maven Toolchains) used for java installations does not exist
Invalid Java installation found at '/usr/lib/jvm/openjdk-17' (Common Linux Locations). It will be re-checked in the next build. This might have performance impact if it keeps failing. Run the 'javaToolchains' task for more details.

> Task :datacapture:dokkaHtml
Initializing plugins
Dokka is performing: documentation for data-capture
Validity check
Creating documentation models
Transforming documentation model before merging
Merging documentation models
Transforming documentation model after merging
Creating pages
Transforming pages
Rendering
Running post-actions

> Task :knowledge:dokkaHtml
Initializing plugins
Dokka is performing: documentation for knowledge
Validity check
Creating documentation models
Transforming documentation model before merging
Merging documentation models
Transforming documentation model after merging
Creating pages
Transforming pages
Rendering
Running post-actions

> Task :knowledge:kaptReleaseKotlin FAILED

FAILURE: Build failed with an exception.

* What went wrong:
A problem was found with the configuration of task ':knowledge:kaptReleaseKotlin' (type 'KaptWithoutKotlincTask').
  - Gradle detected a problem with the following location: '/home/vorburger/git/github.com/google/android-fhir/knowledge/build/tmp/kapt3/classes/release'.

    Reason: Task ':knowledge:dokkaHtml' uses this output of task ':knowledge:kaptReleaseKotlin' without declaring an explicit or implicit dependency. This can lead to incorrect results being produced, depending on what order the tasks are executed.

    Possible solutions:
      1. Declare task ':knowledge:kaptReleaseKotlin' as an input of ':knowledge:dokkaHtml'.
      2. Declare an explicit dependency on ':knowledge:kaptReleaseKotlin' from ':knowledge:dokkaHtml' using Task#dependsOn.
      3. Declare an explicit dependency on ':knowledge:kaptReleaseKotlin' from ':knowledge:dokkaHtml' using Task#mustRunAfter.

    Please refer to https://docs.gradle.org/8.0/userguide/validation_problems.html#implicit_dependency for more details about this problem.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 55s
54 actionable tasks: 20 executed, 17 from cache, 17 up-to-date

@williamito is (only) this something you would be willing to contribute a PR to fix?
@jingtang10 @omarismail94 is there anyone else on the project willing to fix this?

@williamito can you take this please?


Reduce the Gremlin query complexity for ArtifactCoordinates hierarchy queries

Pull Request Description
This pull request closes #1787
Acceptance Test

[ ] Building the code with mvn clean install -Dintegration.tests still works.
[ ] Running mvn spring-boot:run in the strongbox-web-core still starts up the application correctly.
[ ] Building the code and running the strongbox-distribution from a zip or tar.gz still works.
[ ] The tests in the strongbox-web-integration-tests still run properly.

Questions

Does this pull request break backward compatibility?

[ ] Yes
[ ] No

Does this pull request require other pull requests to be merged first?

[ ] Yes, please see #...
[ ] No

Does this require an update of the documentation?

[ ] Yes, please see strongbox/strongbox-docs#{PR_NUMBER}
[ ] No

Cosmetci: Braces on new line, please.

fixed


please remove apt installation support from documentation

Describe the bug
The removal of the support of go-echarger without sponsor-token is a breaking change. This was the second time I did break my evcc installation using the apt upgrade process this year.
As long an automatic update of evcc by running apt update and apt upgrade is performed during regular operating system upgrades,  we should never see breaking changes in automatically updated software.
Upgrading the operating system components regulary (without a closer look into what have been changed) is a common and recommended techique to ensure latest security fixes being installed.
If you don't want to have this restriction in your development and distribution process, please remove the support of apt functionality and switch to dpkg instead. Alternatively there should be the possibility to mark the evcc apt package not being updated automatically using apt-mark hold evcc
This should be documented and recommended in the installation process itself.
Thank you!
Kind regards
Peter
Steps to reproduce
upgrade evcc from version 0.105.2 to 0.109.2.
Configuration details
not relevant for the problem

Log details
[main  ] INFO 2023/01/02 20:20:19 evcc 0.109.2
[main  ] INFO 2023/01/02 20:20:19 using config file: /home/peter/evcc.yaml
[main  ] WARN 2023/01/02 20:20:19 `uri` is deprecated and will be ignored. Use `network` instead.
[main  ] INFO 2023/01/02 20:20:19 starting ui and api at :7070
[main  ] FATAL 2023/01/02 20:20:19 cannot create charger 'wallbox rechts': cannot create charger 'go-e': sponsorship required, see https://github.com/evcc-io/evcc#sponsorship
[main  ] FATAL 2023/01/02 20:20:19 will attempt restart in: 5m0s
[server] FATAL 2023/01/02 20:20:19 unlinkat /tmp/evcc: operation not permitted

What type of operating system are you running?
Linux
Version
evcc version 0.109.2

Evcc ist Version 0.x. Insofern sind breaking changes auch in Zukunft zu erwarten.


USDT download / sync is too slow on AWS, any torrent I can use?

Syncing on AWS is taking too much time. It has been 5days and I have only reached 2015. I can't even imagine how I will pass 2017.
If I could download the block-chain from a torrent, that would be great.

Hi @BuddhaSource,
this is unexpected and I can not confirm the slow download.
There were a few similar reports, but unfortunately we haven't found the underlying issue, assuming there is one. :(

FWIW, I'm also see an incredibly slow sync.  I pulled 64-bit omnicore from the omnilayer website (ie, https://www.omnilayer.org/download.html) and ran it with:

cat ~/.bitcoin/bitcoin.conf
txindex=1
server=1

I'm on an AWS medium node on Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-1069-aws x86_64).
I started the node with ./omnicored 36 hours ago, and I'm still only up early 2016 (better off than @BuddhaSource ... but not by much).

I am facing a similar issue.  The node hasn't synced for more than 50 hours.  Any way to get the unspend transactions list without the node?
https://github.com/OmniLayer/omnicore/wiki/Use-the-raw-transaction-API-to-create-a-Simple-Send-transaction#1-list-unspent-outputs

Also is there any reliable source to download the blocks separately and then start the node instead of downloading the blocks from peers? @dexX7

Seeing a lot of such errors.  Thought it might help.
2018-10-27 20:54:20 ERROR: AcceptToMemoryPool : nonstandard transaction: version
2018-10-27 20:54:20 ERROR: AcceptToMemoryPool : nonstandard transaction: version
2018-10-27 20:54:20 ERROR: AcceptToMemoryPool : nonstandard transaction: version
2018-10-27 20:54:20 ERROR: AcceptToMemoryPool : nonstandard transaction: non-final

The same to me . My omnicore node has been syncing data for last 7 days , and now it reaches '2018-1-12'.
I want to know how long does it cost ?

I have completed the sync, about 4 days.


{{i18n}} helper: context object not defined for language error

I keep getting this error. In my locales folder I have a file: nl.json wich contains:
{
  "name": "Naam"
}

In the template I do"
{{i18n "name" language=language}}

In app.js i have:
i18n.configure({
    locales:['nl', 'en'],
    directory: __dirname + '/locales',
    defaultLocale: 'nl',
    updateFiles: true,
    extension: '.json',
    register: global
});

What am I missing?

I think you just need to move the "name" property to a language specific object on the context like:
{
  "en": {
    "name": "Name"
  },
  "nl": {
    "name: "Naam"
  }
}

Take a look at the context used in the tests for more details.


App Center Test failing to find App Center CLI

Required Information
Bug
Type: Task failing when it previously worked
Enter Task Name: App Center Test
Environment

Server - Azure Pipelines

Agent - Hosted

If using Hosted agent, provide agent queue name:  Windows-latest

Issue Description
Starting last night all( 6) of my nightly testing release pipelines using App Center Test failed with the error:
##[error]Error: Not found CLI for Visual Studio App Center: D:\a_tasks\AppCenterTest_ad5cd22a-be4e-48bb-adce-181a32432da5\1.205.2\node_modules.bin\appcenter.cmd

As far as I can tell nothing has changed, there are no new versions, I am using the latest build environment, and it should still work.
There are only 3 tasks in the release pipelines: Install Node, App Center Test, and Create Work Item

Task logs
2022-06-23T14:12:30.7268558Z ##[section]Starting: Test with Visual Studio App Center
2022-06-23T14:12:30.7473055Z ==============================================================================
2022-06-23T14:12:30.7473358Z Task         : App Center test
2022-06-23T14:12:30.7473627Z Description  : Test app packages with Visual Studio App Center
2022-06-23T14:12:30.7473852Z Version      : 1.205.2
2022-06-23T14:12:30.7474043Z Author       : Microsoft Corporation
2022-06-23T14:12:30.7474353Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/test/app-center-test
2022-06-23T14:12:30.7474701Z ==============================================================================
2022-06-23T14:12:31.8438981Z ##[error]Error: Not found CLI for Visual Studio App Center: D:\a_tasks\AppCenterTest_ad5cd22a-be4e-48bb-adce-181a32432da5\1.205.2\node_modules.bin\appcenter.cmd
2022-06-23T14:12:31.8451807Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8452353Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8452894Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8454045Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8454749Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8455154Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8455558Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8455945Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8456922Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8457318Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8457716Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8458558Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8459535Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8459985Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8460696Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8461356Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8461766Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8465095Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8465626Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8466019Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8466422Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8466809Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8467220Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8467620Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8468020Z (node:1620) Warning: Use Cipheriv for counter mode of aes-256-ctr
2022-06-23T14:12:31.8543539Z ##[section]Finishing: Test with Visual Studio App Center
Troubleshooting
Using a step to install node ahead of time, tried using the latest version instead of the required 10.15.1, did not solve the issue.
Have re-run a build which was successful in the past to make sure the build didn't break anything and the same error occurs.
Error logs
##[error]Error: Not found CLI for Visual Studio App Center: D:\a_tasks\AppCenterTest_ad5cd22a-be4e-48bb-adce-181a32432da5\1.205.2\node_modules.bin\appcenter.cmd

We are facing exactly the same issue.

I see this as well. It looks like the regression may be this change https://github.com/microsoft/azure-pipelines-tasks/pull/16288

same issue here

The same problem

@alexey-chernikov This did not fix the issue for me. After doing this I started getting the error:
Error: Error: spawn "D:\a\r1\a_APM Mobile Android Yaml\Inspections UI Tests\test-cloud.exe" ENOENT
Which again nothing has changed so this should work.
I added a task to make sure the file is there, copying the path from the error:

Which returns:

So the file exists exactly where it should be, but now it doesn't get found when the npm install is done seperately

@TheresasAccount Could you please try specify specific version? Specific version which used before was 1.1.15
npm install -g<EMAIL_ADDRESS>

@alexey-chernikov 1.15 didn't quite do the trick, but the package.json was ^1.15, so I tried
npm install -g<EMAIL_ADDRESS>And it worked. Thanks for the help

We rolled back the task to previous version 1.198.0. Please check if it works for you.

@sergei-fedorov works :) thanks!

@dominik-weber, @TheresasAccount could you please describe how you run tests with AppCenterTest task using built-in old appcenter-cli 1.2.2? When I tried to do so it fails with "command invalid", like this:
Error: Command test prepare uitest --artifacts-dir AppCenterTest --app-path Palisade.ipa --build-dir build --uitest-tools-dir build --quiet is invalid

But if I add Command Line Script with npm install -g appcenter-cli to install latest version - I can run a test with the same arguments as it failed on built-in appcenter.
It would be great if you provided your configuration.

@sergei-fedorov we use the task like this in our yaml pipeline:
      steps:
      - task: NodeTool@0
        displayName: 'Use Node 10.x'
        inputs:
          versionSpec: '10.x' # https://github.com/microsoft/appcenter-cli/issues/696
      - task: NuGetCommand@2
        displayName: 'Install Xamarin.UITest $(uiTestVersion)'
        inputs:
          command: 'custom'
          arguments: 'install Xamarin.UITest -Version "$(uiTestVersion)" -OutputDirectory "$(System.DefaultWorkingDirectory)/packages"'
      - task: AppCenterTest@1
        inputs:
          appFile: '$(apkDrop)'
          artifactsDirectory: '$(System.DefaultWorkingDirectory)/AppCenterTest'
          frameworkOption: 'uitest'
          uiTestBuildDirectory: '$(testAssemblyPath)'
          uiTestToolsDirectory: '$(System.DefaultWorkingDirectory)/packages/Xamarin.UITest.$(uiTestVersion)/tools'
          credentialsOption: 'serviceEndpoint'
          serverEndpoint: 'App Center'
          appSlug: 'open-as-app/open-as-app-android'
          devices: 'open-as-app/default-android-devices'
          series: '$(Build.SourceBranchName)'
          localeOption: 'en_US'

please note that there are a couple of "hacks" in place that unfortunately are required to make the task work for us:

we need to force node 10.x, anything more recent does NOT work
we need to manually install the nuget package as the command needs the .exe file that is shipped in the nuget. Because the version needs to be identical to the one used when building the test assemblies (we're building the assemblies in an earlier stage of the pipeline), we keep the uiTestVersion variable in the yaml file in sync with the package reference in the csproj.


Flow handler fixes

Update to djs55/mirage-tcpip, beta7 branch and fix flow handler to use correct src/dst. Also enable tcpip tests, as they should now work with the modified stack
mirage-tcpip beta 7 includes the following fixes:

Fix on_flow_arrival handler bugs: djs55/mirage-tcpip#2
Fix timer recovery bug: djs55/mirage-tcpip#1
Update to mirage-vnetif 0.2.0
Fix pcap recording race

additional ci fix:

Remove curl from installed cygwin tools and use the one installed in appveyor (otherwise curl does no longer seem to be in path...)

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "flow-handler-fixes" git@github.com:MagnusS/vpnkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~4
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "flow-handler-fixes" git@github.com:MagnusS/vpnkit.git somewhere
$ cd somewhere
$ git rebase -i HEAD~4
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Looks like this PR is finally green!

This looks great to me. :smile_cat:


Create Encode Club Livepeer wrap-up post

Preview: https://junk-range-possible-git-livepeer-wrap-up-post-xmtp-labs.vercel.app/blog/encode-club-livepeer-wrap-up
Notes

Open item: Needs social image. Update image in front matter and intro paragraph before merging.
I made copyedits when building the markdown. Please make this PR the source of truth now -- instead of the Notion.

Approved per @petermdenton. OK to merge.


Get-CsApplicationAccessPolicy truncates list of APPs

Get-CsApplicationAccessPolicy   truncates list of Apps.  Either this command should have a switch to provide the whole list of if that functionality exists elsewhere, the documentation for Get-CsApplicationAccessPolicy should point to it.

Get-CsApplicationAccessPolicy -Identity "Test-policy"

Identity    : Tag:Test-policy
AppIds      : {b747fe91-1356-418b-965e-27b6abddf4b9, 7bb97176-4520-4477-a2ae-8eb7543c2759, c60a71c4-48e7-46f5-b6e6-32e45cf61239, 66caad95-0f7e-46f0-85fa-68e3bcfe7b6c…}
Description : description here

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: b6533a7d-ddc4-eef1-cca6-0ee4786163ef
Version Independent ID: 8958282d-6816-c8c3-cd0b-07b50681aacf
Content: Get-CsApplicationAccessPolicy (SkypeForBusiness)
Content Source: skype/skype-ps/skype/Get-CsApplicationAccessPolicy.md
Service: skypeforbusiness-powershell
GitHub Login: @frankpeng7
Microsoft Alias: frpeng

Hello @kkoellner
That's a normal behavior behind PowerShell when one of the properties is an array, you can expand into that with
(Get-CsApplicationAccessPolicy -Identity "Test-policy").AppIds
As here we are limited to documentation fixes and improvements, we will proceed closing this.
Thank you,

That explanation is great and meets my needs.
I work on five integrations and I'm the only engineer on the project.  As much as I'd like to learn everything there is to know about MS-Graph APIs, powershell, Teams, etc.  I don't have near the bandwidth to do that so I just look up what I absolutely need to know and sometimes can find a little trick that's needed to get something like the command above to get all the App IDs for an application policy.

Glad to hear @kkoellner Ken.


File "app://app/" could not be found.

on debian or macos:
Photino.Blazor(1.1.1)
File "app://app/" could not be found.

Yep. Having the same here on macOS with latest 1.1.1.

Seeing this on Debian as well. Running on a Raspberry PI with a custom built arm version of Photino.Native.

Is there already any kind of idea when you will be able to look at it @philippjbauer ? If you need more testing or further input, just let me know :-)

I know what the issue is, I get it on Kubuntu 20.10 with both .Net 5.0.2 and the current .Net 6.0 Preview.  The Task at
      Task.Factory.StartNew<Task>((Func<Task>) (async () =>
      {
        try
        {
          await ComponentsDesktop.RunAsync<TStartup>(new IPC(ComponentsDesktop.photinoWindow), appLifetimeCts.Token);
        }
        catch (Exception ex)
        {
          ComponentsDesktop.UnhandledException(ex);
          throw;
        }
      }));

is queued up but never executed by the dispatcher, so it then falls into
      try
      {
        ComponentsDesktop.photinoWindow.Load(ComponentsDesktop.BlazorAppScheme + "://app/");
        ComponentsDesktop.photinoWindow.WaitForClose();
      }
      finally
      {
        appLifetimeCts.Cancel();
      }

which generates the error.
If private static async Task RunAsync<TStartup>(IPC ipc, CancellationToken appLifetime) was made public then the Blazor app could be fired up independently.

The issue was fixed in photino.NET PR #30: https://github.com/tryphotino/photino.NET/pull/30
Another issue came up afterwards in the Native project: https://github.com/tryphotino/photino.Native/issues/60

This issue still exists.  For some reason the changes in https://github.com/tryphotino/photino.NET/pull/30 do not appear in the latest source code.


Fix epochDelegateAccount GraphQL command to match its description

This PR fixes epochDelegateAccount so that its behaviour matches the description, returning the account from the staking ledger to which this account has delegated. It has been broken since its inception in https://github.com/MinaProtocol/mina/pull/3904, where its behaviour has been to always return the same account from the current staking ledger.

!ci-build-me

I have tested this with a local devnet node running these changes:
this request:
query MyQuery {
  version
  account(publicKey: "B62qpfgnUm7zVqi8MJHNB2m37rtgMNDbFNhC2DpMmmVpQt8x6gKv9Ww") {
    epochDelegateAccount {
      nonce
      inferredNonce
      receiptChainHash
      delegate
      votingFor
      locked
      index
      zkappUri
      provedState
      tokenSymbol
      leafHash
    }
  }
}

yields this response:
{
  "data": {
    "version": "7bbbbff4ffc9c44f2ef55c88f24f302183e03080",
    "account": {
      "epochDelegateAccount": {
        "nonce": "2",
        "inferredNonce": "2",
        "receiptChainHash": "2n22gwywRfoiMv9hraotYwan7yRm78pwvdgDBcSfW5TYbtJVgp92",
        "delegate": "B62qohbCC7T1vuZcoRifiu7t2T9nWeWKmmB84XpzEMN2LnhEMw6Pkd5",
        "votingFor": "2mzWc7ZF8hRKvLyoLpKLZ3TSm8XSjfxZq67dphJpnjhYmU5Vja5Q",
        "locked": null,
        "index": 10747,
        "zkappUri": null,
        "provedState": null,
        "tokenSymbol": "",
        "leafHash": "17116368938849220799805337553686664893477144178746778846453787514071392809639"
      }
    }
  }
}

notice how the public key and the delegate address differ along with the nonce in accordance with the account information in https://minascan.io/devnet/account/B62qpfgnUm7zVqi8MJHNB2m37rtgMNDbFNhC2DpMmmVpQt8x6gKv9Ww/txs


Suggestion

Challenge Build a Simon Game has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:43.0) Gecko/20100101 Firefox/43.0.
Please describe how to reproduce this issue, and include links to screenshots if possible.
This is more of a suggestion, so I'm not sure where to mention it:
Due to the issues i've read with MP3s, making seamless sound loops, lossy formats, and working with HTML5 audio, I wonder if it would be a good idea to either have the files in longer formats or point the user to the Web Audio API (which is a little harder to use).  The instructions could mention that Web Audio API is optional. Even using https://github.com/Hivenfour/SeamlessLoop didn't quite work, due to the .mp3s used.
It's especially annoying for perfectionists who can hear the tone differences between the audio samples and the simon says example project. After playing with the Web Audio API, I had to look at where the original example was getting the button-sounds from (really cool, btw), and frankly think that the extra work involved in Web Audio API makes a better, more-polished portfolio piece.

@Thraganux is there an easier option than making them use new API? Like having higher quality sounds? Or am I missing the point you're making?

Sorry, I have been sick.
Well, I am not sure about if there is an easier version than using a new API.  I have done some research and found that the type of files provided (mpe3) usually don't allow for seamless looping sounds without some sort of API (no gaps, stutters, or pauses in the sound as the sound file is played over and over).  Maybe someone figured it out.  I saw someone mention that .ogg files can be looped seamlessly, but I have not tried ti for myself.
In the long run, I actually found that it looked and sounded more professional to use Web Audio.   It's not too hard to figure out and it's a great api to know.  It was also much easier than trying to use the MP3s to play a tone that played seamlessly for as long as the user was holding the mouse down on a button.


Upgraded repo to Rails 5.1 along with 7 other gems

Upgraded repo to Rails 5.1 along with 7 other gems.

New PR

LGTM 👍


Alternatives to clabot / any potential maintainers?

Thank you so much to the creators of this project, it's a great idea and I'd love to be able to put this bot into our workflow.
After a few hours of unsuccessfully trying to get the bot to work, I was wondering if there were:

Plans to maintain the project (to make it compatible with the latest versions of npm packages and node)
Viable alternatives that are actively maintained?

Thank you,

The lack of response is disappointing :(

I'm a little late to the party but I wouldn't mind spending time contributing / maintaining this project

Note that at Salesforce we've built our own solution.
@jamesward are we going to open source it?

I'm working on open sourcing it.  :)

Thanks @jamesward. That will be a great contribution!

@jamesward what's the best place to keep watch on re: the potential release of your CLA manager?

@modius I've open sourced it: https://github.com/salesforce/salesforce-cla

You might also be interested in cla-bot, it is a GitHub App, so no need to host yourself.

Closing this as it is stale and I'm cleaning up my issues.


Source sequence padding inconsistency between the training and decoding in seq2seq

Hi, I find that during decoding in seq2seq, you will pad the source sequence into the length of max_src_length with '[PAD]'. But during the training, there is no such padding in the source sequence. Would it introduce any inconsistency problems?

The padding is masked out using masks, and has no effect on the results. It is implemented to make the start of target sequences aligned in a batch during decoding.


Querying an HTMLDocument constructed with an empty string is Fatal

It's clearly my fault for creating the HTMLDocument with an empty string, but it might be defensive to do an is_null check on the documentElement before attempting to access it.  Given an empty HTMLDocument you might expect a querySelector call for anything to successfully return nothing rather than cause a fatal error.
$domDoc = new \phpgt\dom\HTMLDocument("");
$domDoc->querySelector("div");

PHP Fatal error:  Uncaught Error: Call to a member function querySelector() on null in phpgt/dom/src/HTMLDocument.php:35

This should mimic what happens in the browser when creating a new document. The HTML, HEAD and BODY elements are inferred and created empty if nothing is supplied.


Add setup.py and publish package on pypi

Given that the software has certain specific python requirements, I suggest to package the software as a proper python package and define the python requirements there.
This issue is part of a JOSS review: https://github.com/openjournals/joss-reviews/issues/3347

Hi @faroit , I have created a setup.py file in the root, and update the installation info in README.md.
But we are not sure if we want to publish the current version to pypi. Thus I create a todo issue #16 .
Thanks for your suggestion!


[DEV] Rework Inventory

[ ] Merge all inventory global settings into a single commented file with prefixed bb_ variables
[ ] #705 , BlueBanquise should be usable as a stack or a collection
[ ] Nodes should be defined without mg and equipment group in yaml files, and then added into mg and equipment groups in separate Ansible syntax files. This will allow nodes of different purposes but with same equipment profiles to be defined in the same equipment group.
[ ] Issue #639 has added a better handling for authentication. This should be combined with a new variable like “ep_power_protocol” that specify which protocol in the list can be used to power on/off nodes.
[ ] Networks file is not really readable by users. Also, services ip do not easily allow today to bind to an hostname (custom or real server). This could be improved.

[ ] Allow hostnames as service ip
[ ] Allow list of ip for service ip (roundrobin, HA, etc)

[ ] Networks definitions currently require subnet, prefix, broadcast, netmask, etc. This could be reduced to something like http://<IP_ADDRESS>/16 and using python addr filters to generate other values.
[ ] General_settings files are a bit messy, would worth improving that.
[ ] Equipment_profiles could be split into separated files for easier understanding: ipxe, os, authentication, etc.
[ ] External file is not clear at all and should be reworked (or is it really necessary, as it could be just roles default/optional variables?)
[ ] Move authentication_ variables to ep_, and rename root_password
[ ] https://github.com/bluebanquise/bluebanquise/issues/672
[ ] Ability to centralize subnet unique values for all nodes (ex: subnet_prefix: 10.10. and each node would have : ip4: .3.1, ip4: .3.2, etc) (to be investigated, heavy, sed is enough)
[ ] ip4 ability to be dhcp (and not static ip)
[ ] Ability to not having to define iceberg number in networks (ice1-1 to ice[0-9][a-z])

Some ideas I have collected while using and supporting BB:

networks.yml: extract the services from this file into another file services.yml. Then refer to the services of a network like this: "{{ services.. }}" or maybe just "{{ services.}}". Users may change services.yml with a higher frequency than they would change networks.yml.
Have a way to add FQDN entries to the current domain. There is a requirement to use a FQDN (instead of just an IP address) when dealing with virtual IP address (High Availability / load balancing) assigned to a service. Currently, the workaround is to use "external_hosts" but the domain name needs to be hard-coded in the key of the entry. This requirement may be satisfied with "Allow hostnames as service ip", not sure.
Regarding Feature Request #639 , I think we have a requirement to support Redfish authentication. This should not be too difficult to do in conman role.
Question related to the item above, are there any plans to support "powerman" over "conman" in core Bluebanquise? I ask because I believe conman development looks stagnant, while powerman looks active and appears to support more protocols.

Dear @ginomcevoy
Thanks for the proposals 😊

[ ] Possibility to create nodeset range of nodes in yaml

all:
  hosts:
    c[001:100]:
      network_interfaces:
        - interface: eno1
          ip4: 10.10.0.[1:100]
          mac:
            - AA:BB:CC:DD:EE:01
            - AA:BB:CC:DD:EE:02
            - ...
          network: ice1-1

Role variables
IMHO, roles should not use variables they don't know anything about.
For instance, let's say dhcp_server requires a dhcp_server_time_servers variable.
The role is to be applied to a group named foobar.
In inventory/group_vars/foobar/dhcp_server/main.yaml, dhcp_server_time_servers is set:
---
dhcp_server_time_servers:
  - <IP_ADDRESS>
  - <IP_ADDRESS>
...

The problem is that every role would require role_prefix_variable_name variables.
What if X roles require the same data ? Having to keep every files in sync is a no-go.
But ...
What if every BB variables are prefixed with bb_*? then bb_time_servers could be set either manually with:
---
bb_time_servers:
  - <IP_ADDRESS>
  - 10.0.02
...

of with a jinja2 filter:
---
bb_time_servers: "{{ a_super_duper_filter_that_returns_a_list_of_ips }}"
...

Now, every role:

isn't required to know about some dark variables that could be set or not,
can check types, values, regexes, etc, of every role_prefix_variable_name variables,
can be used as a standalone, using role_prefix_variable_name variables,
can be used with BlueBanquise, by checking the bb_that_variable_i_should_use variable.

BlueBanquise variables
Now, every role variable is set either in inventory/{group,host}_vars/{group,host}/role_name/main.yaml or using bb_* variables.
But where are the variables defined? Easy:

inventory/group_vars/all/bluebanquise/main.yaml to target every group and every host,
inventory/group_vars/group_name/bluebanquise/main.yaml to target a specific group,
inventory/host_vars/host_name/bluebanquise/main.yaml to target a specific host,
eventually, playbook/playbook_name.yaml, though it' might lead to strange behaviors if two playbooks use the same variable with different values.

Role behaviour
All variables must have default values set in defaults/main.yaml.
When no role_prefix_* and/or no bb_* is set, including a role into a playbook should not make that playbook crash because of undefined variables. Instead, it should:

warn about theses variables and skip:

---
# main.yaml
- name: include_tasks | manage local groups
  ansible.builtin.include_tasks: manage_group.yaml
  when: |
    local_group_group is defined and
    local_group_group is mapping
...
---
# manage_group.yaml
- name: group | manage local groups
  ansible.builtin.group:
    name: "{{ group }}"
    gid: "{{ local_group_group[group].gid | default(omit) }}"
    state: "{{ local_group_group[group].state | default('present') }}"
    system: "{{ local_group_group[group].system | default(false) }}"
  become: true
  tags:
    - group
  loop_control:
    loop_var: group
  loop: "{{ local_group_group | flatten | sort }}"
  when: |
    group is string and
    (group |
     regex_search('^[a-z_][a-z0-9_-]*[$]?') == group)
...

use a fallback variable that will always exist:

---
- name: assert | check set_hostname_hostname type and value
  ansible.builtin.assert:
    that: |
      (set_hostname_hostname is string) and
      (set_hostname_hostname |
       regex_search('^[A-Za-z][-A-Za-z0-9]{0,63}') == set_hostname_hostname)
  when: set_hostname_hostname is defined

- name: hostname | set hostname
  ansible.builtin.hostname:
    name: "{{ set_hostname_hostname | default(inventory_hostname) }}"
    use: systemd
  become: true
...

Misc

Pre-commit with hooks such as:

trailing-whitespace
end-of-file-fixer
fix-byte-order-marker
ansible-lint
gitlint

roles in separate repositories, so that then can be included in BB using git submodules

Dear @wlln
Thanks a lot for your ideas ! 😊

Bootstraping BB
Until BB 1.5, after a fresh install, BB required a manual configuration part, to set up a few things before running playbooks/roles.
The bootstrap.sh script simplify the process and that's awesome !
But I feel like bootstraping BB would become way more convinient if it could be bootstraped from a fresh install just by installing a RPM, a DEB (or even from a PKGBUILD in a near future :roll_eyes:) and running everything from Ansible, not matter what role are added to the playbook.
After a fresh install of a management node, you could have a single playbook to deploy a complete cluster. Here is a snippet of hat I have in mind:
# playbook/cluster.yaml
# This is the only playbook I should call, ever
- ansible.builtin.import_playbook: boostrap_bluebanquise.yaml # prepare the first management node to deploy the other. Should only be run once, so it requires something like checking that a file exists in `/var/lib/bluebanquise'
- ansible.builtin.import_playbook: configure_management_nodes.yaml # should work with 1 to N management nodes, with or without HA and/or icebergs
- ansible.builtint.import_playbook: configure_switches.yaml # configure every switches with ansible roles/modules. otherwise, should be a manual task, or done before starting the management nodes
- ansible.builtin.import_playbook: configure_storage_nodes.yaml # Should deploy storage nodes, for instance, MinIO, BeeGFS or any distributed storage that can be installed/configured/started with ansible roles/modules
- ansible.builtin.import_playbook: configure_nodes.yaml # should start the compute nodes, N by N, and apply playbook when they are *freshly installed*
# and so on so forth

New data model is now converged. Most of these idea were merged into BB 2.X :blush:
We can close this issue.


Is it possible to select these presets in the Leonardo wrapper?

hi, the presets will help the photo to be in the right direction
.
For some presets such as stock photos, photos can be sent to create uniform content.
In models.md I see that there is a Leonardo Phoenix option but no other options

Its currently not supported.

thanks for that


Fix weekly chargeback with monthly rate

Problem was
We over-used @hours_in_interval variable. In case of monthly rate_detail and monthly report period it was calculating fine, based on how many days are in given month. However in case of weekly or daily report, the monthly rate_detail was many times more expensive way to run your infrastructure.
I tried to put some more details in respective commit messages.
@miq-bot add_label chargeback, bug, wip
@miq-bot assign @gtanzillo

@miq-bot rm_label wip

Rebased on top of master. Ready to be merged. Thanks!

Rebased on top of master. Ready to be merged. Thanks!

Backported to Euwe via https://github.com/ManageIQ/manageiq/pull/13554


Extract method invocation policy

Refactor
Description
Extract a ReflexMethodInvocationPolicy class that clarifies when a reflex method is allowed to be called
Why should this be added
I did this as part of @r00k's code quality challenge - today's challenge was to extract a compound conditional. If nothing else, it clarifies things up a bit and made me grok what this part of the code does a bit better. Tiny wins!
Checklist

[X] My code follows the style guidelines of this project
[X] Checks (StandardRB & Prettier-Standard) are passing
[X] This is not a documentation update

Please note that the best way to suggest changes or updates to the documentation is to join Discord and leave a note in the #docs channel. Any documentation updates posted as PRs cannot be accepted at this time. :heart:

Done 🙌