Patch irr_adjust* macros to take effects on target only

Currently the irr_adjust* macros set options for everything including subdir projects.
CEGUI needs exception enabled (without a kill switch) and we need to use add_subdirectory to support MSVC.
Those macros forbid exceptions for all projects then CEGUI is failed to build.
I've add temporary fix for this as: only enable exceptions when IRR_BUILD_CEGUI option is enabled. That also means all projects used in irrbaw aren't exceptions free.
Since it's caused by your macro code, I won't be able to support further.
I've tried every possible way to override compiler settings for subdir project and none works.
Suggested fix: Patch the irr_adjust* macros to take effects on each target only.
We can have multiple targets with exceptions or no-exceptions compile features.
Subdir project exposes targets so we can adjust them.

AFAIK:

Irrlicht (core,video,asset,scene,etc) are their own library
anything irr::ext is header only, collection of sources or a separate library
examples link some combination of the above

So the flags for examples need to be derived from the options of the main Irr library +  any extensions.
If an extension needs to throw, fine... the exampe using it can also throw, we only really care about nothrow and other options for the main lib and examples which are supposed to be benchmarks.

@Crisspl  your thoughts on the suggested fix?

irr_adjust* macros overrides all compiler settings for dependencies as well, that's why CEGUI didn't compile and reported "enable -fexceptions to build". So the main point here is whichever target needs to be adjusted, adjust only for them with CMake's target_* commands.

ok, @Crisspl could you rework this?
(We still want all 3rdparty dependencies that are possible, to build with those options that we've been using so far, and the ones that can't to build with options as similar as can get... i.e. CEGUI with everything like msse4.2 etc. but only without fno-exceptions)

Maybe it can be done by just reordering add_subdirectorys but, I haven't had a look yet. Priority?

GLSL Include Handler > this > derivative mapping

Maybe it can be done by just reordering add_subdirectorys but, I haven't had a look yet. Priority?

That's not a valid or clean fix, that's a hack.

@manhnt9 do you know an easy way to remove compile option on per-target basis and for particular config? The thing is that targets get some shitty default options and cmake doesn't provide simple way to manipulate them (target_compile_options for adding only). Theoretically one can manipulate COMPILE_OPTIONS target's property (with get_target_properties and set_target_properties)  but it just doesn't work XD
So yea, I hate CMake from now on

@Crisspl if you can't fix it in 1 hours work then move onto the next thing

Done by @AnastaZIuk

Great to know the progress !
Watching the new repo Nabla again.


Fix the build failure with Rust 1.57+

Hi, I have encountered a build failure with Rust 1.57 toolchain, here is the error message:
error[E0658]: use of unstable library feature 'proc_macro_is_available'
  --> src/detection.rs:28:21
   |
28 |     let available = proc_macro::is_available();
   |                     ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: see issue #71436 <https://github.com/rust-lang/rust/issues/71436> for more information
   = help: add `#![feature(proc_macro_is_available)]` to the crate attributes to enable

The Rust version on my platform is rustc 1.57.0-nightly (51e514c0f 2021-09-12)
I try to fix this error with this PR, please merge it if it is right, thanks!

rustc 1.57.0-nightly (51e514c0f 2021-09-12) is an old nightly toolchain. This crate in general does not support arbitrary old nightly toolchains.

Then, which nightly toolchain is supported now? I can update the toolchain.

rustc 1.57.0-nightly (51e514c0f 2021-09-12) is an old nightly toolchain. This crate in general does not support arbitrary old nightly toolchains.

Then, which nightly toolchain is supported now? I can update the toolchain.

I tried with some newer versions, and since the version rustc 1.57.0-nightly (41dfaaa3c 2021-10-10) is OK.


Improve build instructions on Windows, OS X and FreeBSD

Improved build instructions on Windows, OS X and FreeBSD!

:+1:

@maxbrunsfeld should we merge this?

@maxbrunsfeld Do you have an update on this?

The docs for Windows are definitely now out of date. Not sure breaking it down into those steps really adds anything.

I think the separate steps is a good change. It gives beginners a good idea of what each step does instead of it just being a magic incantation.
If this can be updated for the new Windows stuff and to remove the conflicts, I would be open to merging it.

The problem with putting the steps in is you can't then just copy 'n paste them.
The steps are also not optional, you need to do one after the other...

Been over a month since any activity on this so given nobody feels strongly enough I'm going to just close it.


Show IP addresses

NetBox version
v3.7.4
Topology Views version
3.9.1
Feature type
New functionality
Proposed functionality
The ability to show the IP address underneath the labels on the map
Use case
ability to easily obtain the IP addresses of devices, and also find free ip addresses.
External dependencies
No response

Hi,
NTV displays devices, not Interfaces or IP addresses. We've had some proposals like this before. The problem is that IP addresses (or MAC addresses) don't belong to devices. So, technically speaking, there are no "IP addresses of devices". There are IP addresses of interfaces.
A device can easily have 50 interfaces. Interfaces can have theoretically an unlimited number of IP addresses. NetBox models this situation exactly like it is in the real world.
 Which IP address are we supposed to display? Displaying all of them would end in a complete chaos.

NetBox allows the assignment of a single primary IP, though (and a single OOB IP). Having a toggle might be handy.

NetBox allows the assignment of a single primary IPv4 and/or IPv6 directly to a device, though (and a single OOB IP).

You are right. These ones are indeed device propoerties. I havn't had that in mind.

Having a toggle for that/those might be handy.

Why not offer three checkboxes or a multiple choice combobox to allow any combination?
We could possibly extend this to all possible device properties, both in the label and in the popup. That way, every user can set what is important to them.
Unfortunately, you can only format the labels as a whole and not individual parts. However, line breaks are possible. The popup is HTML, so anything goes.

So you think we can expect this in an upcoming update.
Would be nice if I could print out a diagram like this, which included the ip addresses for reference :)

Any movement on this? This would be a great feature

Yes. If you read carefully, you will see that there's already a PR. We have to wait until @mattieserver approves this PR and releases a new version.

Any movement on this? This would be a great feature

Yes. If you read carefully, you will see that there's already a PR. We have to wait until @mattieserver approves this PR and releases a new version.

Ok thank you very much!


Update Composer dependencies (2021-10-08-00-12)

Visual regression test passed!
View the visual regression test report


Notification [Fdroid] Add a new mode for notification

New android versions have greatly limited usage of resources while in background, in order to save battery/memory usage.
In order to comply with this new model and good app behavior, the F-Droid app version is using WorkManager to schedule background sync. This mean that even if there is a guaranty that sync with home server will be performed, depending of the phone status and resource the sync can be deferred.
Some users still require that the sync are performed at a precise time in order to guaranty more real-time notifications.
A new option could be proposed to user of the Fdroid version, they could choose between:

Save as much battery as possible
Have notification ASAP (at the cost of battery/radio) [sync delay configurable]

This mode could require battery optim whitelisting to always keep a background service alive, or a permanent foreground notification. TBD

Thank you very much! This is definitely required, since the change Riot on Android is unusable for critical stuff. It worked so perfect in the past, now one needed to remove all critical notifications off from Riot. Would love to be able to move everything back to Riot.

I have run into this as well.  Notifications on F-droid Riot are crippled since the upgrade from 0.8.26 -> 0.8.28.  Nothing is coming through at all anymore; downgrade to 0.8.26 solves the issue.  Please restore a way for the persistent notification to be enabled!

Can't something like a websocket be used for notifications (non FCM mode) ? I think it would be more efficient then connecting every X seconds to the server and "pulling" new events ... Conversations / xmpp without FCM works very well and the impact on battery is zero (running in background allowed and excluded from battery optimisation). Polling the server every X seconds is quite inefficient and works quite bad with voice calls ...

Conversations indeed works like a charm and consumes almost no battery at all. Makes me wonder why everyone hasn't adopted their strategy regarding notifications?

From what i see Conversations keeps a connection open to the XMPP server. You do have to allow background activity / exclude from battery optimization, but that's all. I suppose that for Riot a secure webocket can be kept open and the server can just notify the client that something happened (incoming message / call etc). The older version of Riot (0.8.26) does run in background, but it polls the server every X seconds, and that is extremely inefficient, it's very power hungry and that might be an issue for people with limited data plans too. A websocket does not need any data to be kept open unless needed.
The websocket is just an idea, i'm sure there are more options to this, but it's a much needed feature.

it was working greate but broke, not working anymore at all. Please help resolving this https://github.com/vector-im/riot-android/issues/3162

Well yeah the notifications are totally broken on non-fcm builds, the client is unusable since persistent service notification was removed. Changing methods that work for methods that don't work is not a good thing, however the non-fcm version seems not to be too high on the priority list right now.

Well. it is not hard to leave the code on non-gcm versions as it was. All was working perfectly, my background sync was at 25 sec and battery and anything was fine with this.
Now no any notifications, and crash after every call without reply.
If i'd knew about such policy, then I'd keep riot without update. I thought update - more improvements, bug fixes. but here new bugs, removed features... wtf...
Tell me the latest working non-gcm version where background-sync still working as it was. Please. If it is still avalilable for download.

You can pull the sources for 0.8.26 and build it yourself, that will work. But you will be missing the newly added features ....

Thanks for the info. One removed feature is better than many newly added features...)

I don't know about the crash after call, i did not have that problem, however the missing notifications is a major issue.

The crash is happening when the call is unanswered. After that, it closes and offers to restart. If I click restart, it opens and all messages appear 'Can't decrypt message'. Then I close it again, open again and messages displays normally. If call is answered, all fine.


Added the Discussion section to README.md (Closes #24)

Description
Added the Discussion section in README.md
Related Issue
Issue #24
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@escarls your changes have been merged, thanks for your contribution :+1:


Update okhttp, okhttp-urlconnection to 3.14.3

Updates

com.squareup.okhttp3:okhttp
com.squareup.okhttp3:okhttp-urlconnection

from 3.13.1 to 3.14.3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.squareup.okhttp3" } ]

labels: semver-minor

Not bumping this (https://github.com/coursier/coursier/commit/47a7b2bd3a17f60d555b62b5ce2f8121c5fdb0cf).


Option is not scrolled into view when opening by clicking on reference

https://codesandbox.io/p/devbox/floating-ui-scroll-mdwkmq
I've tried to make my component scroll to the currently selected option. It doesn't scroll to it when open by clicking with cursor. It does work when focusing the element with keyboard and pressing enter.
It seems like this flag gets set to false when clicking with cursor, but not when using keyboard and that is what's causing my issue: https://github.com/floating-ui/floating-ui/blob/c74dc8e44521e0be244781dd746e0a1656d1f313/packages/react/src/hooks/useListNavigation.ts#L263-L266

Doesn't seem to happen with the Select demo.
In your demo, it scrolls correctly after a second click toggle. I wonder if one of the effects you're using in the component is causing an issue - I notice a lot of state sync'ing that maybe could be refactored.


UI glitch Title bar

Hello. Great project!
I've encountered the following when developing a simple app. Any fixes appreciated.

Closest I could narrow it down is to a class='View--inner div;

Interesting... wish there was a better way for people to just send the full html/js output of a page for debugging. What's the context it's doing that in? Any chance you could provide a gist of what reproduces it?

nope. the code is available here https://github.com/r3dm/alarmClock/blob/master/app/components/Home.jsx

It looks like you TitleBar is transparent somehow. I do not get this. Try upgrading the libraries.

@geordee that didn't do it. But thanks for checking it out.

I'm closing this as I see it in a vanilla reapp project. But it goes away if I use Firefox or a private chrome session. It's probably due to one of my chrome extensions.


server reboot

Hi
Upon rebooting my master node on the kubernetes 17.03, i loose the weave interface and all corresponding bridge interfaces on the slave nodes.
Plus a range of other issues that might be related to the weave interface going down. The log suggests , the slave node cannot reach some service on the master node.
Any ideas on what might be causing this?

Please re-post your question to [Stack Overflow]
(http://stackoverflow.com/questions/tagged/kubernetes).
We are trying to consolidate the channels to which questions for help/support
are posted so that we can improve our efficiency in responding to your requests,
and to make it easier for you to find answers to frequently asked questions and
how to address common use cases.
We regularly see messages posted in multiple forums, with the full response
thread only in one place or, worse, spread across multiple forums. Also, the
large volume of support issues on github is making it difficult for us to use
issues to identify real bugs.
Members of the Kubernetes community use Stack Overflow to field support
requests. Before posting a new question, please search Stack Overflow for answers
to similar questions, and also familiarize yourself with:

user documentation
troubleshooting guide

Again, thanks for using Kubernetes.


Stub for mounting as typical docker user.

See http://linux.die.net/man/8/mount.cifs
Stub for https://github.com/gondor/docker-volume-netshare/issues/14

The underlying issue went away.


Rancher hardening guide v2.3.5 full example discrepancy

The Rancher hardening guide for v2.3.5 ( https://rancher.com/docs/rancher/v2.x/en/security/hardening-2.3.5/ ) has a discrepancy in the addons section with the PodSecurityPolicy apiVersion.  In the full example for cluster.yml the PodSecurityPolicy section's first three lines:
  ---
  apiVersion: policy/v1beta1
  kind: PodSecurityPolicy

In the full example for the RKE Template the PodSecurityPolicty section's first three lines:
    ---
    apiVersion: extensions/v1beta1
    kind: PodSecurityPolicy

resolved here: https://github.com/rancher/docs/pull/2374


[a11y] VoiceOver can't check Checkbox using MergeSemantics

If a Checkbox is labeled using MergeSemantics (often the go-to example for the MergeSemantics feature), VoiceOver can't interact with it using Control-Option-Space.
Steps to Reproduce

Execute flutter run -d chrome on the code sample.
Turn on VoiceOver.
Try to check the first checkbox using Control-Option-Space.

Expected results:
The checkbox is checked.
Actual results:
Nothing happens.
Workaround:
Use Semantics and ExcludeSemantics instead of MergeSemantics, as demonstrated by the second checkbox.

Code sample
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();

  // Auto-enable accessibility for our Blind and Low Vision customers (see
  // https://docs.flutter.dev/development/accessibility-and-localization/accessibility#screen-readers).
  RendererBinding.instance!.setSemanticsEnabled(true);

  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    const appTitle = 'Checkbox Demo';

    return MaterialApp(
      title: appTitle,
      home: Scaffold(
        appBar: AppBar(
          title: const Text(appTitle),
        ),
        body: const MyCustomForm(),
      ),
    );
  }
}

class MyCustomForm extends StatefulWidget {
  const MyCustomForm({Key? key}) : super(key: key);

  @override
  State<MyCustomForm> createState() => _MyCustomFormState();
}

class _MyCustomFormState extends State<MyCustomForm> {
  final _formKey = GlobalKey<FormState>();

  bool _checkbox1Value = false;
  bool _checkbox2Value = false;

  @override
  Widget build(BuildContext context) {
    return Form(
      key: _formKey,
      child: Column(
        children: <Widget>[
          MergeSemantics(
            child: Row(
              children: <Widget>[
                Checkbox(
                  value: _checkbox1Value,
                  onChanged: (bool? newValue) => setState(() => _checkbox1Value = newValue!),
                ),
                const Text('Checkbox using MergeSemantics'),
              ],
            ),
          ),
          Row(
            children: <Widget>[
              Semantics(
                label: 'Checkbox using ExcludeSemantics',
                child: Checkbox(
                  value: _checkbox2Value,
                  onChanged: (bool? newValue) => setState(() => _checkbox2Value = newValue!),
                ),
              ),
              const ExcludeSemantics(child: Text('Checkbox using ExcludeSemantics')),
            ],
          ),
        ],
      ),
    );
  }
}

Logs
[✓] Flutter (Channel stable, 2.10.3, on macOS 11.6.2 20G314 darwin-x64, locale en-US)
    • Flutter version 2.10.3 at /Users/vsomayaji/Dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (5 days ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/vsomayaji/Library/Android/sdk
    • Platform android-31, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2020.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7281165)

[✓] IntelliJ IDEA Ultimate Edition (version 2021.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] Connected device (1 available)
    • Chrome (web) • chrome • web-javascript • Google Chrome 98.0.4758.109

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

https://user-images.githubusercontent.com/1007109/157132766-2ed6feab-6244-4068-8baa-b008b62b9a29.mov

Thanks for the report. I see the same behavior using the code sample provided on latest stable and master.

 stable, master flutter doctor -v

[✓] Flutter (Channel stable, 2.10.3, on macOS 12.2.1 21D62 darwin-x64, locale
    en-GB)
    • Flutter version 2.10.3 at /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 7e9793dee1 (11 hours ago), 2022-03-02 11:23:12 -0600
    • Engine revision bd539267b4
    • Dart version 2.16.1
    • DevTools version 2.9.2

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 2.11.0-0.0.pre.818, on macOS 12.2.1 21D62
    darwin-x64, locale en-GB)
    • Flutter version 2.11.0-0.0.pre.818 at
      /Users/dhs/documents/fluttersdk/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision b5d3c43280 (77 minutes ago), 2022-03-07 19:57:36 -0800
    • Engine revision 0fed94d050
    • Dart version 2.17.0 (build 2.17.0-182.0.dev)
    • DevTools version 2.11.1

[!] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! Flutter recommends a minimum Xcode version of 13.
      Download the latest version or update via the Mac App Store.
    • CocoaPods version 1.11.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] VS Code (version 1.62.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (5 available)
    • SM G975F (mobile)       • RZ8M802WY0X • android-arm64   • Android 11 (API 30)
    • Darshan's iphone (mobile)  • 21150b119064aecc249dfcfe05e259197461ce23 •
      ios            • iOS 14.4.1 18D61
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729     •
      ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                    •
      darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 98.0.4758.80

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

CheckboxListTile doesn't suffer from the same issue, but it does have an extra tab stop when using VoiceOver. 😦 . Until that's addressed, here is an updated workaround that demonstrates how you can use an InkWell to create an accessible checkbox with a tappable label:

Code sample
          Row(
            children: <Widget>[
              Semantics(
                // Use Semantics instead of MergeSemantics for the label, since the latter breaks the checkbox
                // (https://github.com/flutter/flutter/issues/99719).
                label: 'Checkbox using ExcludeSemantics and InkWell',
                child: Checkbox(
                  value: _checkbox3Value,
                  onChanged: (bool? newValue) => setState(() => _checkbox3Value = newValue!),
                ),
              ),
              ExcludeSemantics(
                child: InkWell(
                  canRequestFocus: false, // Avoid a second tab stop.
                  onTap: () => setState(() => _checkbox3Value = !_checkbox3Value),
                  child: const Text('Checkbox using ExcludeSemantics and InkWell'),
                ),
              ),
            ],
          ),

https://dartpad.dev/?id=82c4c7df3e5b2d6941d58e766eaede38


issue #4 - bulk upload annotations

Corrected credential bug in issue #3 - invalid creadentials
Added upload functionality to the HttpClient

@nikhiln I don't get any error when doing a bulk upload but it does not seem like the objects are saved in the database.

@nikhiln The annotations are indeed uploaded to the database. There's minor problems with some fields that are rewritten to NULL or a different value. Can we talk about this tomorrow?


Added vue-splide.

Splide is a free lightweight but powerful slider and carousel, written in pure JavaScript without any dependencies. It supports a thumbnail slider, nested slide.
Size (splidejs): 29.2KB
General

✏ Mark the necessary items without changing the structure of the PR template.

[ ] Pull request template structure not broken

Type

ℹ  What types of changes does your code introduce?

👉 Put an x in the boxes that apply

[ ] Fix
[ x] Feature

Checklist

ℹ  Check all checkboxes - this will indicate that you have done everything in accordance with the rules in CONTRIBUTING.

👉  Put an x in the boxes that apply.

[x ] Title as described
[ x] Make sure you put things in the right category!
[ ] Always add your items to the end of a list

Open Source

[ x] Link description does not contain a link to an author / third-party resource
[ x] The documentation (README) contains a description of the project, illustration of the project with a demo or screenshots and a CONTRIBUTING section
[ x] The documentation is in English.
[x ] The project is active and maintained.
[ x] The project accepts contributions.
[ x] Not a commercial product

Apps/Websites

[ ] The website is available without errors or ssl certificate problems, and load in a reasonable amount of time.
[ ] The website is using vuejs intensively. It should detect vue with vue-devtools.

If you cannot detect vue with vue-devtools due to work at non public pages (e.g. for enterprise website), you can send Pull Request with screenshot that detected it.

[ ] The website is original and not too simple. For that reason, blogs and simple landing pages are rejected.
[ ] A commercial product using Vue, provided that guests could reasonably check out how Vue was used A commercial product using Vue, provided that guests could reasonably check out how Vue was used (i.e. A headless CMS which uses Vue for the Admin/editor Area and offers a free tier).

@Scrum Changes made.


Add preflight to props in SpTypeForm component

Add preflight to props when in the SpTypeForm component.
This would allow an end-user to pass a function that modifies the fieldsList object in the body before entitySubmit is called.
Use cases:

type casting
hashing values
adding/removing fields

Related issue in starport that can be fixed by
// template
      <sp-type-form
        type="data"
        :fields="[
          'requestTx',
          'requestSource',
          'valueInt',
          'valueBool',
          'valueString',
        ]"
        :preflight="preflight"
      />

// script
export default {
  components: { ...sp },
  data() {
    return {
      preflight(obj) {
        obj.valueInt = Number.parseInt(obj.valueInt);
        obj.valueBool = Boolean(obj.valueBool);
        return obj;
      },
    };
  },
};

Thanks, Brian! 👍 Ideally, we would emit an event with data and let the developer preprocess it and dispatch Vuex action, but we want to provide an abstraction over data handling logic, so this is good.


Adding this plugin will fail compiling with "EnvCaster is not a function"

I've installed and added this plugin like mentioned in the docs, but starting the compiling throws an exception (see below).
vite.config.ts:
import EnvCaster from '@niku/vite-env-caster'

export default defineConfig({
  envPrefix: 'XYZ_',
  plugins: [
    EnvCaster(), // calling without options should be fine, right?
    vue({/*...*/})
  ]
})

Error running npm run dev:
The CJS build of Vite's Node API is deprecated. See https://vitejs.dev/guide/troubleshooting.html#vite-cjs-node-api-deprecated for more details.
failed to load config from /speeddrive/webserver/vendor/frontends/my-project/vite.config.ts
error when starting dev server:
TypeError: EnvCaster is not a function
    at file:///speeddrive/webserver/vendor/frontends/my-project/vite.config.ts.timestamp-1703252334437-371455b7ec957.mjs:11:5
    at ModuleJob.run (node:internal/modules/esm/module_job:185:25)
    at async Promise.all (index 0)
    at async ESMLoader.import (node:internal/modules/esm/loader:281:24)
    at async loadConfigFromBundledFile (file:///speeddrive/webserver/vendor/frontends/my-project/node_modules/vite/dist/node/chunks/dep-R0I0XnyH.js:68017:21)
    at async loadConfigFromFile (file:///speeddrive/webserver/vendor/frontends/my-project/node_modules/vite/dist/node/chunks/dep-R0I0XnyH.js:67874:28)
    at async resolveConfig (file:///speeddrive/webserver/vendor/frontends/my-project/node_modules/vite/dist/node/chunks/dep-R0I0XnyH.js:67475:28)
    at async _createServer (file:///speeddrive/webserver/vendor/frontends/my-project/node_modules/vite/dist/node/chunks/dep-R0I0XnyH.js:59972:20)
    at async CAC.<anonymous> (file:///speeddrive/webserver/vendor/frontends/my-project/node_modules/vite/dist/node/cli.js:764:24)

Environment (from package.json):
"@niku/vite-env-caster": "^1.0.1",
"vue": "^3.3.11",
"@tsconfig/node18": "^18.2.2",
"@types/node": "^18.19.3",
"@vitejs/plugin-vue": "^4.5.2",
"@vitejs/plugin-vue-jsx": "^3.1.0",
"@vue/tsconfig": "^0.5.0",
"typescript": "~5.3.0",
"vite": "^5.0.10",
"vue-tsc": "^1.8.25"

npm v9.9.2
node v16.13.0
What can be the issue here?

@Moongazer Can you provide a re-production?


Upgrading to 0.66.0 from 0.65.1 results to ios/Pods/Headers/Public/RCT-Folly/folly/dynamic.h:63:10: boost/operators.hpp file not found

Please provide all the information requested. Issues that do not follow this format are likely to stall.
Description
Please provide a clear and concise description of what the bug is. Include screenshots if needed.
Please test using the latest React Native release to make sure your issue has not already been fixed: https://reactnative.dev/docs/upgrading.html
I tried upgrading to 0.66.0 with the help of https://react-native-community.github.io/upgrade-helper/?from=0.65.1&to=0.66.0 but got this error: ios/Pods/Headers/Public/RCT-Folly/folly/dynamic.h:63:10: 'boost/operators.hpp' file not found
I tried cleaning  everything and reinstalling everything all lead to the same error.
React Native version:
Run react-native info in your terminal and copy the results here.
System:
    OS: macOS 11.3
    CPU: (8) x64 Intel(R) Core(TM) i7-6820HQ CPU @ 2.70GHz
    Memory: 462.71 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.8.0 - ~/.nvm/versions/node/v16.8.0/bin/node
    Yarn: 1.22.11 - /usr/local/bin/yarn
    npm: 7.21.0 - ~/.nvm/versions/node/v16.8.0/bin/npm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Managers:
    CocoaPods: 1.10.2 - /Users/aprilmintacpineda/.rvm/gems/ruby-3.0.2/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 15.0, DriverKit 20.4, macOS 11.3, tvOS 15.0, watchOS 8.0
    Android SDK:
      API Levels: 24, 26, 28, 29, 30, 31
      Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.2
      System Images: android-24 | Google Play Intel x86 Atom, android-26 | Google APIs Intel x86 Atom, android-28 | Google Play Intel x86 Atom, android-29 | Google Play Intel x86 Atom, android-30 | Google APIs Intel x86 Atom, android-30 | Google Play Intel x86 Atom
      Android NDK: Not Found
  IDEs:
    Android Studio: 4.1 AI-201.87<IP_ADDRESS>53283
    Xcode: 13.0/13A233 - /usr/bin/xcodebuild
  Languages:
    Java: 1.8.0_292 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.2 => 17.0.2
    react-native: 0.66.0 => 0.66.0
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

Upgrade to 0.66.0 from 0.65.1

Expected Results
Describe what you expected to happen.
No error should occur.
Snack, code example, screenshot, or link to a repository:
Please provide a Snack (https://snack.expo.io/), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
You may provide a screenshot of the application if you think it is relevant to your bug report.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve

If you're using Reanimated, make sure to upgrade to 2.3.0-beta.2
https://github.com/software-mansion/react-native-reanimated/releases/tag/2.3.0-beta.2

+1

Same here. I have to manually move ios/Pods/boost/boost into ios/Pods/RCT-Folly/boost in order to make the build work.

same issue

The upgrade to react-native-reanimated to 2.3.0-beta.2 fixed this for me.


URI.decode the input to _missing_instance so that we can pass job templates with spaces

Many Ansible job template names contain spaces. We currently can't use the ${#_missing_instance} functionality in the AnsibleTower/Operations/JobTemplate/.missing instance to pass such job template names to StateMachine/Job/default.
Making a call such as the following will fail:
$evm.instantiate('/ConfigurationManagement/AnsibleTower/Operations/JobTemplate/Install Single Package')
The logical solution is to URI encode the call, as follows:
uri = URI.encode('/ConfigurationManagement/AnsibleTower/Operations/JobTemplate/Install Single Package')
$evm.instantiate(uri)
However this currently passes the URI encoded job template name (Install%20Single%20Package) as the _missing_instance value, and the template name lookup fails.
This PR will allow us to URI encode calls to AnsibleTower/Operations/JobTemplate, and for these to be decoded correctly. The _missing_instance value will contain the string including spaces.

@miq-bot add_label automate

@miq-bot add_label euwe/yes

@pemcg
This seems to be an incompatibility between our instance naming convention and Ansible's job template naming convention. Our instance names are case insensitive and only supports [A-Z][a-z] underscore, dot and dash.
Since the method that called URI did the encoding should we be decoding it in the method. That way the coding and encoding logic is isolated to the methods. Otherwise we would have the encoding logic in the method and the decoding logic in the engine.
Another point is if we are running $evm.instantiate to run a Job Template how do we handle long running tasks that could run over the 10 minute queue timeout.
With the Service designer the plan is to run Job Templates as separate provision items and allowing for relationship between items. So item1 would do the vm provision and the second item2 would do the Ansible Job Template provisioning on the newly provisioned (item1) vm.

All good points. Submitting a call to the state machine from create_automation_request would be better then $evm.instantiate as you say, but at the moment we can't because the methods only look at $evm.root['vm'] or $evm.root[root["miq_provision"].destination to get the VM name to use with the limit switch.
It would be useful to be able to pass 'vm_name' as a parameter as well, either as dialog_param_vm_name or param=vm_name=foo, but this would require both wait_for_ip and launch_ansible_job to call ansible_vars_from_objects. It would probably make more sense to refactor this out of both methods, much as we do with dialog_parser for services.

@pemcg
The use case that were being used when we implemented the vm name
https://github.com/ManageIQ/manageiq/blob/master/db/fixtures/ae_datastore/ManageIQ/ConfigurationManagement/AnsibleTower/Operations/StateMachines/Job.class/__methods__/launch_ansible_job.rb#L25
(1)  a user does a fresh provision and at the end of it wants to run a bunch of job templates, for this we would get the name of the vm from the request
(2) A user has a button connected to a JobTemplate and they want to run it on a specific user selected VM. This passes in the vm object and is stored in $evm.root
If there are other use cases we can augment the method to get the vm name from different sources.
With the Service Designer we have each Ansible Job Template as a separate service item and the ability to link these items together to share/fetch parameters at runtime. We have a prototype method that @ramrexx is working on enhancing.
Where does your use case fit in?

@miq-bot add_label wip

@mkanoor
There are several use-cases that I can think of where we would want to invoke the Ansible Job state machine directly from automate, either using $evm.instantiate, or from $evm.execute(‘create_automation_request’...). As you mentioned, using $evm.instantiate is not ideal because of the 10 minute timeout for running automate methods, but for these calls we wouldn’t necessarily have a $evm.root[‘vm’] or an in-flight provision request. In this case we would want to be able to pass a parameter into the call to identify the VM to run the job template against. I’d suggest ‘vm_name’ for compatibility with the parsing from DialogParser/CatalogItemInitialization.
Example use-cases are:

Running a configuration job as a result of an event or alert
Launching a VM provision via $evm.execute(‘create_provision_request’...), then wishing to configure the resulting VM.
Creating a button on a VM object to run an Ansible job template, but where the job template name is not known at the time the button is created (such as giving the user the option to pick the template to run from a drop-down list).

To be honest I’m not convinced of the value of having Ansible jobs as services. Provisioning a service should result in an entity that we can perform CRUD-style operations on (for example being able to start/stop/retire etc). When we run an Ansible job template as a service we get an empty entity representing ‘a configuration’, but we cannot perform any further actions on it. Does it make sense to retire a configuration? Undoing a configuration would require large amount of work and separate Ansible plays. For example the inverse of yum: name=httpd state=present is not necessarily yum: name=httpd state=absent as the package may have existed already, or may be required by another configuration.
If anything ‘a configuration’ might be better as a property of another service such as a VM.

@pemcg @tinaafitz
When you call Automate you can passing in the VM using the Vm::vm=id style of parameter passing, which basically ends up setting the $evm.root[:vm]. When you invoke anything from a button that VM::vm=id is always set. Any external calls coming into Automate could pass the VM::vm=id instead of passing in the name.


Nginx + OpenSSL 1.1.0b doesn't connect to same servers

Good day!
I tried build Nginx with last version of openssl (1.1.0b) and it can't connect by HTTPS to upstream (<IP_ADDRESS>) with errors:
error:0407008A:rsa routines:RSA_padding_check_PKCS1_type_1:invalid padding
error:04067072:rsa routines:rsa_ossl_public_decrypt:padding check failed
error:1416D07B:SSL routines:tls_process_key_exchange:bad signature

If I build nginx with OpenSSL 1.0.2j, everything works fine.
I did research (git bisect) and found that it was broken since commit: https://github.com/openssl/openssl/commit/94777c9c86a2b2ea2726c49d6c8f61078558beba
I attached a bisect script and nginx.conf that I used to find this commit.

This is a possible duplicate of #1799, which was recently fixed in git in commit 0f6c9d7.
Please can you try the latest 1.1.0 git branch and see if the problem persists?

@mattcaswell confirmed!
Thanks!


Add Supabase and Neon docs

Added entries for Supabase and Neon documentation. Both offer clean, well-structured docs

@matheusfelipeog could you please check if looks good.


Toggl Button (Firefox/Ubuntu) logs whole Pomodoro interval, but actually finishes it several minutes earlier.

OS version: Ubuntu 20.04.2 LTS
Browser version: 86.0.1 (64-bit) (Mozilla Firefox for Ubuntu canonical - 1.0)
Extension version: 86.0.1 (64-bit)

Relevant integration (if any):

https://track.toggl.com/
🐛 Describe the bug

When I enable/start Toggl button (with Pomodoro enabled), it reports that my Pomodoro is over and is tike for a break before 25 minutes (my configured Pomodoro time) is actually finished. If I check that specific entry, I can see that it was finished before that time of the day (e.g.: Toggle will log an entry from 16:43 to 17:08, when it actually finished at 16:50, which has led to the same worked time being logged twice).
The screenshot below shows several line entries where this behaviour is shown (from bottom to up, a log entry is finished at 11:48, for instance, while the next entry starts at 11:41....):

Expected behaviour

I start Toggl timer, it alerts me after my setup timer is finished (25 minutes), and logs that entry with the actual time interval, not 25 minutes after having run for just 7 or whatever.
Steps to reproduce

Steps to reproduce the behaviour:
(This doesn't happen all the time, and I don't know what triggers it, to be honest. But that's what I have)

Go to Toggl button
Open settings
Enable Pomodoro and ending time at the end of the interval

Start logging time

Other details or context

I have also the Ubuntu extension for Toggl, I thought that might be the issue, so I didn't open it today, but the issue persists...

Hi @jufajardini, do you have the desktop application installed for Linux as well?
As seen at https://support.toggl.com/en/articles/2410832-toggl-track-desktop-app-for-linux
There is also a pomodoro option on the desktop app, so we'd like to ensure that there isn't another pomodoro trigger firing from the desktop app as well.
Thanks!

Hi @nicktoggl, thanks for the quick reply! While I do have the desktop application also installed, I find myself rarely opening it. Yesterday, for instance, I don't recall opening it even once.
But to be sure, I'll monitor my logged entries, trying to make sure the desktop app isn't running at the same time. Do you suggest other actions that could help investigate this further? Thanks in advance!

So, it just happened again. I started my Toggl timer (using the Firefox extension), and it rang after some 11 minutes. I've taken another screenshot, making sure to capture my local time, it logged from 10:50 to 11:15, but finished at around 11:01, so you can see that it basically logged some 15 minutes in the future. And if I wasn't aware of that, I could simply start another timer and have those 15 minutes logged twice. :(

I checked and from what I could tell, the desktop application wasn't running...

Hi @jufajardini, Just to confirm with the desktop app, do you have any of the pomodoro settings on in the desktop app set to trigger a pomodoro timer? Could you confirm they are turned off and let us know if the issue still arose with the extension?
Thanks

Hi @nicktoggl, after your comment, and opened the desktop app (which was, again, closed), and unchecked Pomodoro timer options (screenshot attached). It just happened again (second time this morning, first was already fixed by me in the time entry that you see). Besides what is shown, are there any other settings for the desktop app that I show change?

Thanks for your attention so far!

I think I understand what is going on. Although I see why it happens, I wish it didn't.
I work with several different things. Sometimes, I'll finish a certain task before the standard 25 minutes. When that happens, I naturally stop that timer. What I think is happening is that, if I start another timer after that, even though it shows to me that it begins the countdown at 25:00, it's actually taking into account whatever was left from the previous timer...
So if there's no fix, I guess I'll just stop using the Pomodoro feature, for now...

Hi, another update: I've been trying to not use the firefox button extension, and use the desktop app, instead. So far, I haven't spotted the bug, when I use this setup, regardless of letting the timer finish its countdown or not.


How to use multiple apps using PM2 and Nginx

Hello there !
I'm wondering on how I can migrate different apps to the same server, I'm using PM2 to ensure it's always running.
Here is my ecosystem file
{   "apps" : [{     "name"        : "parse-wrapper",     "script"      : "/usr/bin/parse-server",     "watch"       : true,     "merge_logs"  : true,     "cwd"         : "/home/parse",     "env": {       "PARSE_SERVER_CLOUD_CODE_MAIN": "/home/parse/cloud/main.js",       "PARSE_SERVER_DATABASE_URI": "mongodb://parse:password@your_domain_name:27017/database_name?ssl=true",       "PARSE_SERVER_APPLICATION_ID": "your_application_id",       "PARSE_SERVER_MASTER_KEY": "your_master_key",     }   }] }
Shoud I use the same ecosystem file or should I create a new one and run ??

PM2 start

How to configure the URL to different apps in Nginx

        location /app1/ {
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-NginX-Proxy true;
                proxy_pass http://localhost:1337/parse/;
                proxy_ssl_session_reuse off;
                proxy_set_header Host $http_host;
                proxy_redirect off;
        }

This seems to be specific to nginx and pm2. Please use this repr for reporting bugs in Parse Server.

@geekyfox90 Have you gotten anywhere with this? I'm also trying to configure multiple parse apps behind nginx on pm2

Hello @gregyoung14 ! Sorry for late response, but I haven't found nothing ! what about you ?


Cannot Pull Private Images From Docker Hub

I wanted to be able to pull a previously pushed image to use as a build cache in our Github actions. The following failed:
- uses: azure/docker-login@v1
  with:
    login-server: index.docker.io
    username: ${{ secrets.DOCKER_USERNAME }}
    password: ${{ secrets.DOCKER_PASSWORD }}

- name: Docker Pull Cache
  run: |
    docker pull private/repo:latest

Whereas, logging in with the Docker CLI tool works:
- name: Docker Login (Redneck Style)
  run: docker login --username='${{ secrets.DOCKER_USERNAME }}' --password='${{ secrets.DOCKER_PASSWORD }}'

- name: Docker Pull Cache
  run: |
    docker pull private/repo:latest

I suspect this is because docker login initiates an OAuth2 flow with scopes that allow pulling and that this action just base64 encodes an auth header that won't allow pulling for security reasons.

Could you try removing login-server from your action run; letting it fall back to the default login-server url and execute again?

This somehow fixes it. Thanks for the tip. I was looking at the code and I'm not certain how/why this works?

When you use docker login --username<> --password<> that's the default login-url which is being set. But the url you provided is index.docker.io which is different from the fully qualified url. So when you're trying to pull a private image; the look up of the default url fails, so docker ends up trying to pull it without any creds.


Spark service is not found in your DCOS cluster

Please answer the following questions before submitting your issue. Thanks!
What version of the DCOS CLI are you using (dcos --version)?
dcos version 0.4.4
What version of DCOS are you using?
1.7
What operating system and version are you using?
Windows 10 with Vagrant/Virtualbox
What did you do?
If possible please provide a recipe for reproducing.
(dcos) PS C:\dcos>  dcos package install spark
Installing Marathon app for package [spark] version [1.0.0-1.6.1-2]
Installing CLI subcommand for package [spark] version [1.0.0-1.6.1-2]
New command available: dcos spark.exe
DC/OS Spark is being installed!
    Documentation: https://docs.mesosphere.com/spark-1-7/
    Issues: https://docs.mesosphere.com/support/

(dcos) PS C:\dcos> dcos spark
Usage:
dcos spark --help
dcos spark --info
(dcos) PS C:\dcos> dcos spark run --submit-args='-Dspark.mesos.coarse=true --driver-cores 1 --driver-memory 1024M --clas
s org.apache.spark.examples.SparkPi https://downloads.mesosphere.com/spark/assets/spark-examples_2.10-1.4.0-SNAPSHOT.jar
30'
Spark distribution spark-1.6.1-2 not found locally.
It looks like this is your first time running Spark!
Downloading https://downloads.mesosphere.com/spark/assets/spark-1.6.1-2.tgz...
Extracting spark distribution c:\users\gbyrne.dcos\subcommands\spark\env\lib\site-packages\dcos_spark\data\spark-1.6.1-
2.tgz...
Successfully fetched spark distribution https://downloads.mesosphere.com/spark/assets/spark-1.6.1-2.tgz!
Spark service is not found in your DCOS cluster.
<IP_ADDRESS> - - [17/May/2016 10:43:55] "POST /v1/submissions/create HTTP/1.1" 502 -
The Spark service is running an shown as Healthy in GUI Services screen
What did you expect to see?
Spark service should run task
What did you see instead?
Spark service is not found in your DCOS cluster.

Not sure if this helps...
(dcos) PS C:\dcos> dcos spark run --help
Traceback (most recent call last):
File "c:\python27\Lib\runpy.py", line 162, in _run_module_as_main
"main", fname, loader, pkg_name)
(dcos) PS C:\dcos> python.exe --version
Python 2.7.11

What do you get when you do dcos package list and dcos service?
cc @mgummelt

(dcos) PS C:\dcos> dcos package list
NAME   VERSION        APP     COMMAND  DESCRIPTION
spark  1.0.0-1.6.1-2  /spark  spark    Spark is a fast and general cluster computing system for Big Data.  Documentation
: https://docs.mesosphere.com/usage/managing-services/spark/
(dcos) PS C:\dcos> dcos service
NAME           HOST      ACTIVE  TASKS  CPU   MEM    DISK  ID
marathon  <IP_ADDRESS>   True     1    1.0  1024.0  0.0   8f3d1142-5bab-49b9-8eb9-12a3e033bf13-0000
spark        a1.dcos      True     0    0.0   0.0    0.0   8f3d1142-5bab-49b9-8eb9-12a3e033bf13-0004
Thanks

I tried shutting down servers and restarting and am getting the same error, currently running the following and I don't see any errors loading these:
vagrant up m1 a1 p1 boot
My PC has 16GB of RAM and I haven't seen it using more than 12.5GB
Looks like my issue may not be spark specific, I tried installing kafka too and that does not seem to be installing correctly either. Unlike Spark I don't ever see this running as a service in the GUI dashboard
(dcos) PS C:\dcos> dcos package install kafka
Installing Marathon app for package [kafka] version [1.0.7-<IP_ADDRESS>]
Installing CLI subcommand for package [kafka] version [1.0.7-<IP_ADDRESS>]
New command available: dcos kafka.exe
DC/OS Kafka Service is being installed.
    Documentation: https://docs.mesosphere.com/kafka-1-7/
    Issues: https://docs.mesosphere.com/support/

(dcos) PS C:\dcos> dcos kafka connection
Failed to GET http://m1.dcos/service/kafka/v1/connection
HTTP 500: Internal Server Error
Content:
500 Internal Server Error

500 Internal Server Error
openresty/<IP_ADDRESS>

(dcos) PS C:\dcos>  dcos package list
NAME   VERSION        APP     COMMAND  DESCRIPTION
kafka  1.0.7-<IP_ADDRESS>  /kafka  kafka    Apache Kafka running on DC/OS
spark  1.0.0-1.6.1-2  /spark  spark    Spark is a fast and general cluster computing system for Big Data.  Documentation
: https://docs.mesosphere.com/usage/managing-services/spark/
(dcos) PS C:\dcos> dcos service
NAME           HOST      ACTIVE  TASKS  CPU   MEM    DISK  ID
marathon  <IP_ADDRESS>   True     1    1.0  1024.0  0.0   ee402a3d-c614-468f-8865-9c50b4720348-0000
spark        a1.dcos      True     0    0.0   0.0    0.0   ee402a3d-c614-468f-8865-9c50b4720348-0001
(dcos) PS C:\dcos>

I see this in the log viewer of the Spark process in the GUI
I0517 13:07:03.041519  8759 exec.cpp:217] Executor registered on slave 473b8728-6599-4fd3-afd2-dd9b23d274d9-S0

export DISPATCHER_PORT=26457
DISPATCHER_PORT=26457
export DISPATCHER_UI_PORT=26458
DISPATCHER_UI_PORT=26458
export HISTORY_SERVER_PORT=26459
HISTORY_SERVER_PORT=26459
export SPARK_PROXY_PORT=26460
SPARK_PROXY_PORT=26460
SCHEME=http
OTHER_SCHEME=https
'[' '' == true ']'
export HISTORY_SERVER_WEB_PROXY_BASE=/service/spark/history
HISTORY_SERVER_WEB_PROXY_BASE=/service/spark/history
export DISPATCHER_UI_WEB_PROXY_BASE=/service/spark
DISPATCHER_UI_WEB_PROXY_BASE=/service/spark
'[' false = true ']'
grep -v '#https#' /etc/nginx/conf.d/spark.conf.template
sed s,#http#,,
sed -i 's,,26460,' /etc/nginx/conf.d/spark.conf
sed -i 's,<DISPATCHER_URL>,http://<IP_ADDRESS>:26457,' /etc/nginx/conf.d/spark.conf
sed -i 's,<DISPATCHER_UI_URL>,http://<IP_ADDRESS>:26458,' /etc/nginx/conf.d/spark.conf
sed -i 's,<HISTORY_SERVER_URL>,http://<IP_ADDRESS>:26459,' /etc/nginx/conf.d/spark.conf
sed -i 's,,,' /etc/nginx/conf.d/spark.conf
'[' '' == true ']'
'[' -f hdfs-site.xml
/sbin/init.sh: line 69: [: missing `]'
'[' -n '' ']'
exec runsvdir -P /etc/service
mkdir -p /mnt/mesos/sandbox/spark
exec
mkdir -p /mnt/mesos/sandbox/nginx
exec svlogd /mnt/mesos/sandbox/nginx
exec svlogd /mnt/mesos/sandbox/spark

@hoststreamsell. Thanks a lot for the information. @gabrielhartmann is looking into it and should have some feedback soon.

@hoststreamsell:  Trying to repro right now.

@hoststreamsell: Kafka and Spark issues are unrelated.  I had to export the DCOS_SPARK_URL like this:  export DCOS_SPARK_URL=http://m1.dcos/service/spark
in order to get Spark working on 'real' clusters.  I was unable to get Spark working at all on Vagrant.  It looks like a network proxying problem associated with running in an Open DC/OS vagrant environment.  We will continue to look into this, but a quick fix or configuration change is unlikely to resolve this issue.
Requests are seen making it to the Spark Nginx agent, but failure are encountered after that.  It's possible it's a Vagrant networking setup problem.
2016/05/17 22:54:01 [error] 32#0: *128 connect() failed (111: Connection refused) while connecting to upstream, client: <IP_ADDRESS>, server: , request: "POST /v1/submissions/create HTTP/1.1", upstream: "http://<IP_ADDRESS>:19756/v1/submissions/create", host: "localhost:64563"
curl -v -H 'Authorization:token=<get your token from ~/.dcos/dcos.toml>' http://m1.dcos/service/spark/ provides the expected output.  So that endpoint is accessible.
As a workaround spark submissions should be possible by communicating directly to this endpoint from within the cluster.

Thanks for looking into this so quick and providing an update

I'm getting this error message as well with the 1.7 early access DCOS.
$ git clone https://github.com/dcos/dcos-vagrant
$ cd dcos-vagrant
$ export DCOS_CONFIG_PATH=etc/config-1.7.yaml
$ curl -O https://downloads.dcos.io/dcos/EarlyAccess/dcos_generate_config.sh
$ vagrant up m1 a1 a2 a3 p1 boot
$ dcos auth login
$ dcos package install spark
Installing Marathon app for package [spark] version [1.0.0-1.6.1-2]
Installing CLI subcommand for package [spark] version [1.0.0-1.6.1-2]
New command available: dcos spark
DC/OS Spark is being installed!

	Documentation: https://docs.mesosphere.com/usage/services/spark/
	Issues: https://docs.mesosphere.com/support/
$ dcos service
NAME           HOST      ACTIVE  TASKS  CPU   MEM    DISK  ID
marathon  <IP_ADDRESS>   True     1    1.0  1024.0  0.0   cdbc219b-d7a5-4ea7-9e6f-2b63e4c9cad8-0000
spark        a2.dcos      True     0    0.0   0.0    0.0   cdbc219b-d7a5-4ea7-9e6f-2b63e4c9cad8-0001
$ $ dcos spark run --verbose --submit-args="--class org.apache.spark.examples.SparkPi https://downloads.mesosphere.com.s3.amazonaws.com/assets/spark/spark-examples_2.10-1.4.0-SNAPSHOT.jar 30"
Ran command: /home/darabos/.dcos/subcommands/spark/env/lib/python3.5/site-packages/dcos_spark/data/spark-1.6.1-2/bin/spark-submit --deploy-mode cluster --master mesos://localhost:43644 --conf spark.ssl.noCertVerification=true --class org.apache.spark.examples.SparkPi https://downloads.mesosphere.com.s3.amazonaws.com/assets/spark/spark-examples_2.10-1.4.0-SNAPSHOT.jar 30
With added env vars: {'SPARK_JAVA_OPTS': '-Dspark.mesos.executor.docker.image=mesosphere/spark:1.0.0-1.6.1-2'}
# Abridged error message:
java.net.ConnectException: Connection refused

I think localhost:43644 looks fairly suspicious. Should it not be a2.dcos:<something> instead? The DCOS UI tells me Spark has 0 tasks running, but there is 1 Marathon task running called spark. The stderr for this task has the following:
I0701 09:01:09.194223 31269 exec.cpp:143] Version: 0.28.1
I0701 09:01:09.196869 31279 exec.cpp:217] Executor registered on slave cdbc219b-d7a5-4ea7-9e6f-2b63e4c9cad8-S5
+ export DISPATCHER_PORT=18558
+ DISPATCHER_PORT=18558
+ export DISPATCHER_UI_PORT=18559
+ DISPATCHER_UI_PORT=18559
+ export HISTORY_SERVER_PORT=18560
+ HISTORY_SERVER_PORT=18560
+ export SPARK_PROXY_PORT=18561
+ SPARK_PROXY_PORT=18561
+ SCHEME=http
+ OTHER_SCHEME=https
+ '[' '' == true ']'
+ export HISTORY_SERVER_WEB_PROXY_BASE=/service/spark/history
+ HISTORY_SERVER_WEB_PROXY_BASE=/service/spark/history
+ export DISPATCHER_UI_WEB_PROXY_BASE=/service/spark
+ DISPATCHER_UI_WEB_PROXY_BASE=/service/spark
+ '[' false = true ']'
+ grep -v '#https#' /etc/nginx/conf.d/spark.conf.template
+ sed s,#http#,,
+ sed -i 's,<PORT>,18561,' /etc/nginx/conf.d/spark.conf
+ sed -i 's,<DISPATCHER_URL>,http://<IP_ADDRESS>:18558,' /etc/nginx/conf.d/spark.conf
+ sed -i 's,<DISPATCHER_UI_URL>,http://<IP_ADDRESS>:18559,' /etc/nginx/conf.d/spark.conf
+ sed -i 's,<HISTORY_SERVER_URL>,http://<IP_ADDRESS>:18560,' /etc/nginx/conf.d/spark.conf
+ sed -i 's,<PROTOCOL>,,' /etc/nginx/conf.d/spark.conf
+ '[' '' == true ']'
+ '[' -f hdfs-site.xml
/sbin/init.sh: line 69: [: missing `]'
+ '[' -n '' ']'
+ exec runsvdir -P /etc/service
+ mkdir -p /mnt/mesos/sandbox/nginx
+ mkdir -p /mnt/mesos/sandbox/spark
+ exec
+ exec svlogd /mnt/mesos/sandbox/spark
+ exec svlogd /mnt/mesos/sandbox/nginx

I tried running the spark-submit command with all the ports mentioned there, but it does not work.

@mgummelt Can you take a look at the error above? Thanks!

This error occurs when <dcos_url>/service/spark returns a 502 https://github.com/mesosphere/dcos-spark/blob/269873dbb9eadcef2aadc941e397c60d5e60aeb0/dcos_spark/spark_submit.py#L316
Which can occur if you don't wait the ~30s required for the Spark dispatcher to come up after you install it.  If you've waited that long, and it's still not up, you should check the DC/OS or Mesos UI to diagnose.

did anyone figure out this error. I am getting the same thing where even running dcos spark run --help gives this
Traceback (most recent call last):   File "c:\python27\Lib\runpy.py", line 175, in _run_module_as_main     "__main__", fname, loader, pkg_name)   File "c:\python27\Lib\runpy.py", line 72, in _run_code     exec code in run_globals   File "C:\Users\579206\.dcos\subcommands\spark\env\Scripts\dcos-spark.exe\__main__.py", line 9, in <module>   File "c:\users\579206\.dcos\subcommands\spark\env\lib\site-packages\dcos_spark\cli.py", line 100, in main     return show_spark_submit_help()   File "c:\users\579206\.dcos\subcommands\spark\env\lib\site-packages\dcos_spark\cli.py", line 48, in show_spark_submit_help

Have u fix that problem? I have encountered the same problem as u. Wish to get a resolution from you. Thank you.

@mgummelt ^

Hi ! I've encountered the exact same problem... May my proxy could be the reason of the failure ?

@Mwea I was not using proxy.


Only deploy Ceph operator and CRDs when using Ceph storage

Context
Currently Rook Ceph operator is deployed even if Rook Ceph is not being used for storage.  Since we've disallowed changing from one storage type to another without a redeployment, we should make the ceph operator and CRDs only deployed if Rook Ceph is being used for storage on that deployment.
Value and/or benefit
Less unneeded clutter and resources being used in the cluster.
Anything else?
No response

@kenafoster mentioned offline this could be a potential issue blocking them from upgrading their deployments. @kenafoster would you consider this a release blocker?

I do consider it a release blocker, at least as it relates to my team's use case.  Given that we operate in a security-audited environment, we will be very hesitant to deploy the Nebari release into our environment if it is unnecessarily deploying the rook-ceph operator chart... which creates a bunch of unnecessary accounts and RBAC items that may then have to go through audit

This would be a useful thing to add.  Would you be interested in working on it @kenafoster?  I don't think it should take long and I'm happy to provide guidance as needed.

@Adam-D-Lewis I think it's as simple as the PR above, right?  I'm testing now in AWS to make sure I'm not missing anything

Yeah, I think that'd be sufficient.  We need to test a fresh deployment with rook ceph storage set to ensure that works as well e.g. Deploys successfully and able to store a file/build a conda environment.  I don't think there'll be any issues though.  If your testing goes well then I can try a Ceph enabled one.  Then it should be good to go.


Fetch import job results

This PR contains a number of changes:

It is now possible to query all import job results via a rest endpoint
Import jobs separated from releases (own service, controller etc.)
Due to the parallelization there were still a few issues with the import

Metal Archives should always run first and not in parallel with Metal Hammer
It is no longer sufficient to run the duplicate check exclusively via database query, because we no longer process the releases sequentially
Endpoint for creating the import jobs no longer returns the IDs of the jobs (unnecessary information)
you can append a new release importer to a list - no other code or tests needs to be adjusted

 [Butler] New endpoint to fetch all import jobs


Exception is not logged when there's a message

NLog version: 4.7.8
Platform: .Net 4.7.2
Current NLog config (xml or C#, if relevant)
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<targets>
		<target name="logfile" xsi:type="File" fileName="${basedir}\ICXForwarder.log" />
	</targets>
	<rules>
		<logger name="*" minlevel="Debug" writeTo="logfile" />
	</rules>
</nlog>

What is the current result?

The following code:
        private void ConnectCallback(IAsyncResult ar)
        {
            try
            {
                _socket.EndConnect(ar);
                Receive();
            }
            catch (Exception ex)
            {
                _logger.Error(ex);
                _logger.Info("111");
                _logger.Error(ex, $"Client {Hostname} ({Port}) connect callback error");
                _logger.Info("222");
                _logger.Error(ex, "connect callback error", Hostname, Port);
                _logger.Info("333");
                ExceptionEvent(this, new ExceptionEventArgs() { Exception = ex });
            }
        }

Produces this:
2021-03-04 17:02:54.6203|ERROR|ICXClient(<IP_ADDRESS>)|System.Net.Sockets.SocketException (0x80004005): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond <IP_ADDRESS>:18000
   at System.Net.Sockets.Socket.InternalEndConnect(IAsyncResult asyncResult)
   at System.Net.Sockets.Socket.EndConnect(IAsyncResult asyncResult)
   at ICXForwarder.ICXClient.ConnectCallback(IAsyncResult ar)
2021-03-04 17:02:54.6343|INFO|ICXClient(<IP_ADDRESS>)|111
2021-03-04 17:02:54.6343|ERROR|ICXClient(<IP_ADDRESS>)|Client <IP_ADDRESS> (18000) connect callback error
2021-03-04 17:02:54.6343|INFO|ICXClient(<IP_ADDRESS>)|222
2021-03-04 17:02:54.6343|ERROR|ICXClient(<IP_ADDRESS>)|Client "<IP_ADDRESS>" (18000) connect callback error
2021-03-04 17:02:54.6343|INFO|ICXClient(<IP_ADDRESS>)|333

What is the expected result?

The exception should be logged in all cases, not just the first one.

The default Layout in NLog 4.7 is like this:

${longdate}|${level:uppercase=true}|${logger}|${message}

NLog has some small tricks, where ${message} does a fallback to LogEvent-Exception, when no actual LogEvent-message could be found.
But if you override the default Layout to include ${exception:format=tostring}, then you might get the wanted output:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<targets>
		<target name="logfile" xsi:type="File"
                             fileName="${basedir}\ICXForwarder.log"
                             layout="${longdate}|${level:uppercase=true}|${logger}|${message}${exception:format=tostring}"
                />
	</targets>
	<rules>
		<logger name="*" minlevel="Debug" writeTo="logfile" />
	</rules>
</nlog>

NLog 5.0 changes the default layout, so it will always include exception-details. See also #3637 (Since NLog prides itself on having good default values, but here it failed on first attempt).

Alright, thanks.

@snakefoot: ${message}${exception:format=tostring} misses a space between the message and the exception, and adding that space makes it so it's always present no matter what even when there's no exception.
Is there a trick to handle that or do I have to wait Nlog 5.0 ?

You can try this:
${message:withexception=true:exceptionSeparator= }
See also: https://github.com/NLog/NLog/wiki/Message-Layout-Renderer

Thanks that works.


SQL injection various additions

Whitespace alternatives

The list of whitespaces characters alternatives  is taken directly from [SQLi-Optimization-and-Obfuscation...]

WAF Bypasses

The list of obfuscated queries is also taken directly from SQLi-Optimization-and-Obfuscation...

Disclaimer: From the two references added, I co-authored one (Scientific Notation Bug in MySQL...).

Great Pull Request, thank you :)


Discriminates between automatic and manual backups

Closes #660
I wasn't sure what to call the field that holds the automatic or backup indicator. I named it "initiator". If you've a better suggestion, I'm all ears.

@bensheldon I added the Backups collection and Backup model per your advice.

:+1: thank you so much for converting this to models/collections!

Happy to! It was sound advice and Terminus is better for it.
Closes #714


ColorChooserPreference

Is it possible to have COLOR CHOOSER PRIMARY in PrerenceActivity?
Thanks.

It's possible if you show the dialog yourself on the click of a preference, but it can't be embedded inside of a Preference instance. It requires a support FragmentManager and AppCompatActivity to attach to show itself and send callbacks.


fields set by initialValues inherit different state behavior

Are you submitting a bug report or a feature request?

I've noticed a discrepancy between the behavior of a field set by initialValues and a field that is not. It has made some of my custom code cumbersome and I believe it may be a bug.
What is the current behavior?

Given a field that has not been initialized by initialValues
When the field's value is set to ''
Then the field does not appear under values in state
Given a field that has been initialized by initialValues
When the field's value is set to ''
Then the field does appear under values in state as ''
What is the expected behavior?
In both scenarios when a field's value is set to '', the field should not appear under values in state
What's your environment?

redux-form 6.5.0

Sandbox reproduction. https://codesandbox.io/s/mZRjw05yp
I'm not unconvinced this is by design? initialValues keys should always exist, however I don't want keys for form values that have not had a value specified.
Can you suggest why this is the expected behaviour?

Closing due to non response. Worth linking that this is almost the opposite expected behaviour of #3004.


Implement Circuit.reachable_frontier_from and Circuit.findall_operations_between

Includes a private priority queue (BuckerPriorityQueue) specialized to the needs of these methods

These methods are useful when attempting to find "spacelike-separated light cones" within a circuit. For example, if you want to grab as many operations as possible to fold into one big 8 qubit operation, you would do the following:
start_frontier = {q: start_index for q in group_of_8_qubits}
end_frontier = circuit.reachable_frontier_from(start_frontier)
merged_operations = circuit.findall_operations_between(start_frontier, end_frontier)
new_start_frontier = end_frontier

Automerge: started


PyAnsys Sound Example "Load a signal from a WAV file" does not work

🔍 Before submitting the issue

[X] I have searched among the existing issues
[X] I am using a Python virtual environment

🐞 Description of the bug
The example"Load a signal from a WAV file" located here does not work
https://sound.docs.pyansys.com/version/stable/examples/gallery_examples/003_compute_stft.html#sphx-glr-examples-gallery-examples-003-compute-stft-py
--> Error message

There is a problem in the code, the example must be plug and play, without the need to debug for it to work
📝 Steps to reproduce
1- Create new virtual environment and install PyAnsys Sound packages
Create a new repository
Open VS Code
Open this repository in VS Code ("Open Folder...")
Terminal --> New Terminal
Create Virtual Environment (run python -m venv .venv)
Activate Virtual Environement (run ..venv\Scripts\activate)
Run pip install ansys-sound-core
2- Run the example
Download the .py from the example and place it in the created folder
Run Python file

💻 Which operating system are you using?
Windows
📀 Which ANSYS version are you using?
24R2
🐍 Which Python version are you using?
3.9
📦 Installed packages
ansys-dpf-core==0.12.2
ansys-sound-core==0.1.2
cachetools==5.4.0
certifi==2024.7.4
charset-normalizer==3.3.2
colorama==0.4.6
contourpy==1.2.1
cycler==0.12.1
fonttools==4.53.1
google-api-core==2.19.1
google-api-python-client==2.139.0
google-auth==2.32.0
google-auth-httplib2==0.2.0
googleapis-common-protos==1.63.2
grpcio==1.65.2
httplib2==0.22.0
idna==3.7
importlib_metadata==8.2.0
kiwisolver==1.4.5
matplotlib==3.9.1
numpy==2.0.1
packaging==24.1
pillow==10.4.0
platformdirs==4.2.2
proto-plus==1.24.0
protobuf==5.27.3
psutil==6.0.0
pyasn1==0.6.0
pyasn1_modules==0.4.0
pyparsing==3.1.2
python-dateutil==2.9.0.post0
requests==2.32.3
rsa==4.9
setuptools==72.1.0
six==1.16.0
tqdm==4.66.4
uritemplate==4.1.1
urllib3==2.2.2
zipp==3.19.2

@pmaroneh @a-bouth @anssmolla  FYI


I think torch is also a requirement

I was getting an error on 'torch' module missing... It was fixed when I did pip install torch

Indeed! Thanks @Pablo1990!


Support multiple valid values for the file.mode check

Describe the feature:

Support multiple valid values instead of just one for a check.
Eg:
file:
  /foo:
    exists: true
    mode: "0644"

but if on a host, the file has the mode 0444, I want to consider it as good also.
Describe the solution you'd like

Instead of supporting only 1 value for mode, it could support a list of valid modes.
file:
  /foo:
    exists: true
    mode:
      - "0644"
      - "0444"

Describe alternatives you've considered

I don't know any workaround except dropping the file.mode check.

This can be done today using or:
yaml
file:
/foo:
exists: true
mode:
or:
- "0644"
- "0444"

@samuel-phan that's a great call out regarding documentation being difficult to navigate for non-golang crowd.
This test + gomega is the current docs, ex:
https://github.com/aelsabbahy/goss/blob/master/resource/gomega_test.go#L124-L125
That said, the next major release of Goss will have improved documentation, but it's not released yet, and there's no current estimate on the release date.
Is the new format clearer? Please note a lot of the new documentation wouldn't work for the current release. But would love your feedback on the format.
https://github.com/aelsabbahy/goss/blob/v4/docs/manual.md#misc-matchers
Also, in the meantime if you'd like to submit a PR for the current version, I would gladly accept it.

Now that the new version of go is released the documentation is much improved.
Feel free to open a new ticket if it's still unclear.


Fix a precondition failure if a generic parameter clause had an additional closing right angle

Explanation: If a generic argument clause has an additional closing >, we performed a misparse, causing a precondition failure because we were consuming >> as a right angle, which doesn’t match the expected text.
Scope: Parsing of generic argument argument clauses
Risk: Very low. The old code was obviously wrong
Testing: Added regression test
Issue: rdar://108624264
Reviewer: @bnbarham on https://github.com/apple/swift-syntax/pull/1595

@swift-ci Please test


HBASE-27260 Set version as 1.7.2 in branch-1 in prep for first RC of …

…1.7.2

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
9m 56s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-0 :warning:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ branch-1 Compile Tests _

+0 :ok:
mvndep
0m 25s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
2m 25s
branch-1 passed

+1 :green_heart:
compile
1m 25s
branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
compile
1m 21s
branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+1 :green_heart:
checkstyle
3m 12s
branch-1 passed

+1 :green_heart:
shadedjars
2m  1s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m 42s
branch-1 passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javadoc
1m 59s
branch-1 passed with JDK Azul Systems, Inc.-1.7.0_272-b10

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m 32s
branch-1 passed

+0 :ok:
mvndep
1m 43s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
1m 24s
the patch passed

+1 :green_heart:
compile
1m 15s
the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javac
1m 15s
the patch passed

+1 :green_heart:
compile
1m 17s
the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10

+1 :green_heart:
javac
1m 17s
the patch passed

+1 :green_heart:
checkstyle
3m 16s
the patch passed

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

-1 :x:
xml
0m  3s
The patch has 35 ill-formed XML file(s).

+1 :green_heart:
shadedjars
2m  1s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
3m  6s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2.

+1 :green_heart:
javadoc
1m 39s
the patch passed with JDK Azul Systems, Inc.-1.8.0_262-b19

+1 :green_heart:
javadoc
1m 55s
the patch passed with JDK Azul Systems, Inc.-1.7.0_272-b10

_ Other Tests _

-1 :x:
unit
184m  2s
root in the patch failed.

-1 :x:
asflicense
0m 21s
The patch generated 1 ASF License warnings.

229m 26s

Reason
Tests

XML
Parsing Error(s):

hbase-annotations/pom.xml

hbase-archetypes/hbase-archetype-builder/pom.xml

hbase-archetypes/hbase-client-project/pom.xml

hbase-archetypes/hbase-shaded-client-project/pom.xml

hbase-archetypes/pom.xml

hbase-assembly/pom.xml

hbase-checkstyle/pom.xml

hbase-client/pom.xml

hbase-common/pom.xml

hbase-error-prone/pom.xml

hbase-examples/pom.xml

hbase-external-blockcache/pom.xml

hbase-hadoop-compat/pom.xml

hbase-hadoop2-compat/pom.xml

hbase-hbtop/pom.xml

hbase-it/pom.xml

hbase-metrics-api/pom.xml

hbase-metrics/pom.xml

hbase-prefix-tree/pom.xml

hbase-procedure/pom.xml

hbase-protocol/pom.xml

hbase-resource-bundle/pom.xml

hbase-rest/pom.xml

hbase-rsgroup/pom.xml

hbase-server/pom.xml

hbase-shaded/hbase-shaded-check-invariants/pom.xml

hbase-shaded/hbase-shaded-client/pom.xml

hbase-shaded/hbase-shaded-server/pom.xml

hbase-shaded/hbase-shaded-testing-util-tester/pom.xml

hbase-shaded/hbase-shaded-testing-util/pom.xml

hbase-shaded/pom.xml

hbase-shell/pom.xml

hbase-testing-util/pom.xml

hbase-thrift/pom.xml

pom.xml

Failed junit tests
hadoop.hbase.mapreduce.TestLoadIncrementalHFiles

hadoop.hbase.replication.TestReplicationKillSlaveRS

hadoop.hbase.snapshot.TestExportSnapshot

hadoop.hbase.client.TestAdmin1

hadoop.hbase.replication.TestReplicationEndpoint

hadoop.hbase.mapreduce.TestLoadIncrementalHFilesUseSecurityEndPoint

hadoop.hbase.master.TestMasterBalanceThrottling

hadoop.hbase.snapshot.TestExportSnapshotWithTemporaryDirectory

hadoop.hbase.mapreduce.TestSecureLoadIncrementalHFiles

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4671/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/4671

Optional Tests
dupname asflicense javac javadoc unit shadedjars hadoopcheck xml compile checkstyle

uname
Linux fcb009b74904 5.4.0-90-generic #101-Ubuntu SMP Fri Oct 15 20:00:55 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-home/workspace/Base-PreCommit-GitHub-PR_PR-4671/out/precommit/personality/provided.sh

git revision
branch-1 / d4b9fcec1b

Default Java
Azul Systems, Inc.-1.7.0_272-b10

Multi-JDK versions
/usr/lib/jvm/zulu-8-amd64:Azul Systems, Inc.-1.8.0_262-b19 /usr/lib/jvm/zulu-7-amd64:Azul Systems, Inc.-1.7.0_272-b10

xml
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4671/1/artifact/out/xml.txt

unit
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4671/1/artifact/out/patch-unit-root.txt

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4671/1/testReport/

asflicense
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4671/1/artifact/out/patch-asflicense-problems.txt

Max. process+thread count
4238 (vs. ulimit of 10000)

modules
C: . hbase-annotations hbase-archetypes hbase-archetypes/hbase-archetype-builder hbase-archetypes/hbase-client-project hbase-archetypes/hbase-shaded-client-project hbase-assembly hbase-checkstyle hbase-client hbase-common hbase-error-prone hbase-examples hbase-external-blockcache hbase-hadoop-compat hbase-hadoop2-compat hbase-hbtop hbase-it hbase-metrics hbase-metrics-api hbase-prefix-tree hbase-procedure hbase-protocol hbase-resource-bundle hbase-rest hbase-rsgroup hbase-server hbase-shaded hbase-shaded/hbase-shaded-check-invariants hbase-shaded/hbase-shaded-client hbase-shaded/hbase-shaded-server hbase-shaded/hbase-shaded-testing-util hbase-shaded/hbase-shaded-testing-util-tester hbase-shell hbase-testing-util hbase-thrift U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4671/1/console

versions
git=2.17.1 maven=3.6.0

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Run rat check locally, no problem.
Summary
-------
Generated at: 2022-07-31T16:34:25+00:00

Notes: 9
Binaries: 94
Archives: 0
Standards: 194

Apache Licensed: 193
Generated Documents: 0

JavaDocs are generated, thus a license header is optional.
Generated files do not require license headers.

1 Unknown Licenses

*****************************************************

Files with unapproved licenses:

  excludes

https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-4671/1/artifact/out/patch-asflicense.txt
Seems to be an environment problem, the excludes file is not in our repo. Maybe we download it when running pre commit...

Ran UTs locally and filtered the output
These are the failed UTs
[ERROR]   TestAdmin1.testRegionStateCleanupFromAMMemoryAfterRegionSplitAndMerge:1283 expected:<1> but was:<3>
[ERROR]   TestBlockReorderMultiBlocks.testHBaseCluster:214->testFromDFS:260 expected:<[zhangduo-VirtualBox]> but was:<[host1]>
[ERROR]   TestSlowLogAccessor.testHigherSlowLogs:227 Waiting timed out after [11,000] msec
[ERROR]   TestHRegion.testBatchPut_whileNoRowLocksHeld:1475 Metrics Counters should be equal expected:<158> but was:<157>

These are the crashed UTs
[ERROR] org.apache.hadoop.hbase.client.TestSnapshotCloneIndependence
[ERROR] org.apache.hadoop.hbase.client.TestFromClientSideNoCodec
[ERROR] org.apache.hadoop.hbase.client.TestSnapshotDFSTemporaryDirectory
[ERROR] org.apache.hadoop.hbase.replication.TestMasterReplication
[ERROR] org.apache.hadoop.hbase.replication.regionserver.TestWALEntryStream
[ERROR] org.apache.hadoop.hbase.replication.regionserver.TestReplicationSink
[ERROR] org.apache.hadoop.hbase.client.TestSnapshotCloneIndependence
[ERROR] org.apache.hadoop.hbase.client.TestFromClientSideNoCodec
[ERROR] org.apache.hadoop.hbase.client.TestSnapshotDFSTemporaryDirectory
[ERROR] org.apache.hadoop.hbase.replication.TestMasterReplication
[ERROR] org.apache.hadoop.hbase.replication.regionserver.TestWALEntryStream
[ERROR] org.apache.hadoop.hbase.replication.regionserver.TestReplicationSink

Let me try them separately.

On the failed UTs, TestAdmin1 and TestSlowLogAccessor can pass locally, TestBlockReorderMultiBlocks passed in the pre commit build so it should be my environment. TestHRegion, TestRSGroupsAdmin2, TestRSGroupsBalance are still failing. Let me check whether they are OK in 1.7.1.

OK, they are both fine on 1.7.1.
Let me take a look.

Ah, tried again, they all passed for me locally. Should be flaky...
Let me check the crashed one.
https://nightlies.apache.org/hbase/HBase-Find-Flaky-Tests/branch-1/706/output/dashboard.html
This is the flaky list for branch-1.


feat: Propagate ami_type to self-managed node group; allow using ami_type only

Description

Propagate the ami_type down to the self-managed nodegroup. This allows users to specify just the ami_type instead of needing to specify the ami_type and the platform (which is redundantly annoying). The platform functionality is still preserved for backwards compatibility until its removed in the next major version release
Fix the cluster_service_cidr output; previously it would output either the IPv4 CIDR or null, which is incorrect for IPv6 clusters

Motivation and Context

This simplifies and unifies the user experience across both EKS managed node groups and self-managed node groups, it also allow users to opt into the v21 functionality now instead of waiting which will future proof their configurations

Breaking Changes

No; validated by deploying EKS managed node group and self-managed node group examples on master and then switching to this branch to check the diff

How Has This Been Tested?

[x] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects
[x] I have executed pre-commit run -a on my pull request

This PR is included in version 20.9.0 :tada:


Upgrade our k8s clusters to k8s 1.25+

Current status
# collect clusters current versions by running a `kubectl version` command
ls config/clusters | xargs -I {} deployer use-cluster-credentials {} 'echo {} $(kubectl version -o json | jq -r .serverVersion.gitVersion) >> k8s-versions.txt'

Filtered to show only <=1.24 clusters, these are:
# 1.24 - EKS
carbonplan v1.24.16-eks-2d98532
openscapes v1.24.16-eks-2d98532
ubc-eoas v1.24.16-eks-2d98532

Action points

Upgrade the three clusters currently at 1.24 to the latest available minor versions.
These clusters are all EKS clusters, and there is established documentation on how to upgrade these here.

[ ] carbonplan v1.24.16-eks-2d98532
[ ] openscapes v1.24.16-eks-2d98532
[ ] ubc-eoas v1.24.16-eks-2d98532

[ ] Improve the AWS EKS cluster upgrade docs if needed

Related

#3249

@consideRatio, I went through the upgrade docs (yay for having them, very useful) and have some questions:

This step is not in the docs, but I've noticed, that for leap for example, you coordinated with the community before going for an upgrade https://github.com/2i2c-org/infrastructure/pull/2318

should we update the docs to add such a step?
for these particular 3 clusters, do you suggest getting in touch with the communities before? If so,  I remember a discussion about creating a list of community reps, but I don't know where we're at with that atm?

Should I update these clusters to the latest version 1.28?
I feel like we should also add a step about checking the release notes, so that we don't accidentally miss a breaking change. But maybe that should instead go into a policy like https://github.com/2i2c-org/infrastructure/issues/3248. Wondering if we should add some docs about the policy before going on with this one. WDYT?
Also, "one minor version at a time?" 😱

1a - "should we update the docs to add such a step?"
There is this part currently:

For now, I don't want this work to include thinking about policy because its a big task by itself. With this work done, you would also have more practical experience which can help when thinking about policy.

1b - "for these particular 3 clusters, do you suggest getting in touch with the communities before? If so, I remember a discussion about creating a list of community reps, but I don't know where we're at with that atm?"
I'd say for now while not having pre-scheduled upgrade windows or similar, we should do opportunistic upgrades as much as possible. If we can't, because the cluster is busy at all times for example, then we should resort to communication. I've used the grafana dashboards for each cluster to investigate if it can be opportunistically accomplished. If its currently not used, and doesn't seem to be used reguarly on a time that is soon (within a 2 hours?) coming up, I'd go for it.
If you end up needing to communicate, there still isn't a clear place to find out who to communicate with. This is my best understanding on how to go about it: https://github.com/2i2c-org/infrastructure/issues/3048#issuecomment-1749244465

We should ideally update to the latest eksctl supported version you can upgrade to, but that isn't always the latest official k8s minor version.
From https://eksctl.io/usage/schema/#config-file-schema I see that we can specify 1.28 now though. I suggest we at least upgrade to 1.27 because that is the eksctl default version and we also have tested all our infra against k8s 1.27 already. Should you upgrade to 1.28 though?
I'd say just upgrade to 1.27 for now. You are doing these for the first time and there are things that can break both on the EKS upgrade and for our charts installing inside k8s 1.28 that I'd rather we don't pinoieer right now.

"I feel like we should also add a step about checking the release notes, so that we don't accidentally miss a breaking change."
I agree, a) when introducing a new minor EKS version in our clusters, we should search for notes, and b) when introducing a new k8s minor version, we should check the official k8s release notes and consider if our charts are known to support it or not.

Also, "one minor version at a time?" 😱
Yepp, the control plan must never be ugpraded more than two minor versions at the time for either EKS or GKE i think.

I was checking carbonplans' grafana for usage trying to plan a time for the upgrade and it returns no data for the last 7d. Also, shared-dirsize-metrics shows a drom 8d ago from ~250MB to 1MB. Is this normal? I remember reading something about it? @consideRatio, what do you think?

It seems that it is crashing regularly:

kubectl describe of a pod crashing:
Events:
  Type     Reason  Age                     From     Message
  ----     ------  ----                    ----     -------
  Warning  Failed  40m (x4685 over 7d1h)   kubelet  (combined from similar events): Error: context deadline exceeded
  Normal   Pulled  11m (x16672 over 55d)   kubelet  Container image "quay.io/yuvipanda/prometheus-dirsize-exporter:v2.0" already present on machine
  Warning  Failed  6m6s (x2547 over 7d1h)  kubelet  Error: context deadline exceeded

Updated values for maxrjones
Updated values for damianavila
Traceback (most recent call last):
  File "/usr/local/bin/dirsize-exporter", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prometheus_dirsize_exporter/exporter.py", line 157, in main
    for subdir_info in walker.get_subdirs_info(args.parent_dir):
  File "/usr/local/lib/python3.11/site-packages/prometheus_dirsize_exporter/exporter.py", line 116, in get_subdirs_info
    for c in self.do_iops_action(os.listdir, dir_path)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/prometheus_dirsize_exporter/exporter.py", line 50, in do_iops_action
    return_value = func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^
OSError: [Errno 116] Stale file handle: '/shared-volume'

I'll open a report in the dirsize reporter project about this kind of error. I'm not sure what the resolution is, but it shouldn't be a blocker for the k8s upgrade aspect.

@GeorgianaElena I opened https://github.com/yuvipanda/prometheus-dirsize-exporter/issues/6 about this for now!

Thanks @consideRatio!

@consideRatio, I managed to get eksctl and aws configured for carbonplan successfully.
Note that I won't go for any jsonnet chages, as concluded those can be done separately for https://github.com/2i2c-org/infrastructure/issues/3273.
Figured I shouldn't go for an upgrade at the end of the day, so will go for the upgrade tomorrow morning 🤞🏼

FYI @jmunroe. The discussion above includes comments about 2i2c needing policy for notifications around upgrades. This overlaps with required improvements under Partnerships. We need:

policy describing the way 2i2c will inform communities re: service interruptions
a "source of truth" for WHO is to be notified in case of planned service interruption EVENTS
a workflow for scheduling upgrades to minimize community harm

Perhaps this work can be captured into the "syllabus for intro to hub administration" as part of the Q4 goal? Once the policy is written, I will want to reference it in the Service Agreement text.


Small cleanup CORECLR

@iSazonov Contributes to #3565?

@iSazonov Removed file and folder

It seems we need to add reference to System.Diagnostics.PerformanceCounter in an csproj.

It seems we need to add reference to System.Diagnostics.PerformanceCounter in an csproj.

I still don't have the experience to do that, please do it

I guess you need to add:
  <ItemGroup>
    <PackageReference Include="System.Diagnostics.PerformanceCounter" Version="7.0.0-rc.1.22426.10" />
  </ItemGroup>

in Microsoft.PowerShell.Commands.Diagnostics.csproj

Done