feat(cli): add uninstall cluster-wide-resources cmd

This adds a command osm uninstall cluster-wide-resources,
which uninstalls cluster-wide resources (such as CRDs) that
may have been left over after osm was previously uninstalled
(through osm uninstall mesh or through helm).
When osm uninstall mesh is run, the helm post-delete hook
is invoked as part of the uninstall process. This deletes:
(1) osm control plane pods (in the osm namespace)
(2) osm control plane secrets (in the osm namespace)
(3) mutating webhooks
(4) validating webhooks
(5) osm control plane mesh configs
CustomResourceDefinitions are not deleted as part of the
helm post-delete hook as deleting CRDs is a very destructive
action, causing resources that depend on these installed CRDs
to stop working.
This new subcommand ensures that these CRDs are deleted from
the cluster.
Resolves #4255.
Signed-off-by: Johnson Shi<EMAIL_ADDRESS>
Testing done: ran command with and without osm crds

Affected area:

Functional Area

New Functionality
[ ]

CI System
[ ]

CLI Tool
[X]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[ ]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[X]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? N

Did you notify the maintainers and provide attribution? NA

Is this a breaking change? N

Codecov Report

Merging #4309 (0f772f6) into main (4baa2a3) will decrease coverage by 0.08%.
The diff coverage is 81.69%.

:exclamation: Current head 0f772f6 differs from pull request most recent head 22d7ad6. Consider uploading reports for the commit 22d7ad6 to get more accurate results

@@            Coverage Diff             @@
##             main    #4309      +/-   ##
==========================================
- Coverage   69.25%   69.16%   -0.09%
==========================================
  Files         211      212       +1
  Lines       14241    14297      +56
==========================================
+ Hits         9862     9889      +27
- Misses       4331     4359      +28
- Partials       48       49       +1

Flag
Coverage Δ

unittests
69.16% <81.69%> (-0.09%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cmd/cli/uninstall_cluster_wide_resources.go
81.42% <81.42%> (ø)

cmd/cli/uninstall.go
100.00% <100.00%> (ø)

pkg/crdconversion/crdconversion.go
57.14% <0.00%> (-12.04%)
:arrow_down:

pkg/catalog/inbound_traffic_policies.go
93.44% <0.00%> (-0.50%)
:arrow_down:

Continue to review full report at Codecov.

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

@snehachhabria @shashankram I have addressed all of the comments and have refactored the code so that it is less confusing + more organized. Let's hope to get this included in the v1 release soon. Thanks!
Manual tests performed:
Test 1: Running osm uninstall mesh before running osm uninstall cluster-wide-resources in a kind cluster
~/Dev/osm(uninstall-cluster-wide-resources ✔) ./bin/osm uninstall mesh

List of meshes present in the cluster:

MESH NAME   MESH NAMESPACE   VERSION       ADDED NAMESPACES
osm         osm-system       latest-main   bookbuyer,bookstore,bookthief,bookwarehouse

MESH NAME   MESH NAMESPACE   SMI SUPPORTED
osm         osm-system       HTTPRouteGroup:v1alpha4,TCPRoute:v1alpha4,TrafficSplit:v1alpha2,TrafficTarget:v1alpha3

To list the OSM controller pods for a mesh, please run the following command passing in the mesh's namespace
	kubectl get pods -n <osm-mesh-namespace> -l app=osm-controller

Uninstall OSM [mesh name: osm] in namespace [osm-system] ? [y/n]: y
OSM [mesh name: osm] in namespace [osm-system] uninstalled

~/Dev/osm(uninstall-cluster-wide-resources ✔) kubectl get crds && kubectl get mutatingwebhookconfigurations && kubectl get validatingwebhookconfigurations && kubectl get secrets -A | grep osm
NAME                                             CREATED AT
egresses.policy.openservicemesh.io               2021-11-01T03:34:35Z
httproutegroups.specs.smi-spec.io                2021-11-01T03:34:35Z
ingressbackends.policy.openservicemesh.io        2021-11-01T03:34:35Z
meshconfigs.config.openservicemesh.io            2021-11-01T03:34:35Z
multiclusterservices.config.openservicemesh.io   2021-11-01T03:34:35Z
tcproutes.specs.smi-spec.io                      2021-11-01T03:34:35Z
trafficsplits.split.smi-spec.io                  2021-11-01T03:34:35Z
traffictargets.access.smi-spec.io                2021-11-01T03:34:35Z
No resources found
No resources found
osm-system           acr-creds                                                     kubernetes.io/dockerconfigjson        1      41m
osm-system           default-token-mwf2x                                           kubernetes.io/service-account-token   3      42m

~/Dev/osm(uninstall-cluster-wide-resources ✔) ./bin/osm uninstall cluster-wide-resources --no-prompt
Successfully deleted OSM CRD: egresses.policy.openservicemesh.io
Successfully deleted OSM CRD: ingressbackends.policy.openservicemesh.io
Successfully deleted OSM CRD: meshconfigs.config.openservicemesh.io
Successfully deleted OSM CRD: multiclusterservices.config.openservicemesh.io
Successfully deleted OSM CRD: httproutegroups.specs.smi-spec.io
Successfully deleted OSM CRD: tcproutes.specs.smi-spec.io
Successfully deleted OSM CRD: trafficsplits.split.smi-spec.io
Successfully deleted OSM CRD: traffictargets.access.smi-spec.io
Ignoring - did not find any OSM MutatingWebhookConfigurations in the cluster. Use --mesh-name to delete MutatingWebhookConfigurations belonging to a specific mesh if desired
Ignoring - did not find any OSM ValidatingWebhookConfigurations in the cluster. Use --mesh-name to delete ValidatingWebhookConfigurations belonging to a specific mesh if desired
Ignoring - did not find OSM CA bundle secret osm-ca-bundle in namespace osm-system. Use --ca-bundle-secret-name and --osm-namespace to delete a specific mesh namespace's CA bundle secret if desired
Ignoring - did not find OSM secret crd-converter-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired
Ignoring - did not find OSM secret mutating-webhook-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired
Ignoring - did not find OSM secret validating-webhook-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired

~/Dev/osm(uninstall-cluster-wide-resources ✔) kubectl get crds && kubectl get mutatingwebhookconfigurations && kubectl get validatingwebhookconfigurations && kubectl get secrets -A | grep osm
No resources found
No resources found
No resources found
osm-system           acr-creds                                                     kubernetes.io/dockerconfigjson        1      41m
osm-system           default-token-mwf2x                                           kubernetes.io/service-account-token   3      43m

~/Dev/osm(uninstall-cluster-wide-resources ✔) ./bin/osm uninstall cluster-wide-resources --no-prompt
Ignoring - did not find OSM CRD: egresses.policy.openservicemesh.io
Ignoring - did not find OSM CRD: ingressbackends.policy.openservicemesh.io
Ignoring - did not find OSM CRD: meshconfigs.config.openservicemesh.io
Ignoring - did not find OSM CRD: multiclusterservices.config.openservicemesh.io
Ignoring - did not find OSM CRD: httproutegroups.specs.smi-spec.io
Ignoring - did not find OSM CRD: tcproutes.specs.smi-spec.io
Ignoring - did not find OSM CRD: trafficsplits.split.smi-spec.io
Ignoring - did not find OSM CRD: traffictargets.access.smi-spec.io
Ignoring - did not find any OSM MutatingWebhookConfigurations in the cluster. Use --mesh-name to delete MutatingWebhookConfigurations belonging to a specific mesh if desired
Ignoring - did not find any OSM ValidatingWebhookConfigurations in the cluster. Use --mesh-name to delete ValidatingWebhookConfigurations belonging to a specific mesh if desired
Ignoring - did not find OSM CA bundle secret osm-ca-bundle in namespace osm-system. Use --ca-bundle-secret-name and --osm-namespace to delete a specific mesh namespace's CA bundle secret if desired
Ignoring - did not find OSM secret crd-converter-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired
Ignoring - did not find OSM secret mutating-webhook-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired
Ignoring - did not find OSM secret validating-webhook-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired

Test 2: Running osm uninstall cluster-wide-resources directly without having run osm uninstall mesh first (this scenario tests the capability of this new command to uninstall all resources indicated in the helm post-delete hook at cleanup-hook.yaml.
~/Dev/osm(uninstall-cluster-wide-resources ✔) ./demo/run-osm-demo.sh
...
...

~/Dev/osm(uninstall-cluster-wide-resources ✔) ./bin/osm uninstall cluster-wide-resources

Uninstall OSM resources belonging to mesh 'osm' in mesh namespace 'osm-system'? [y/n]: y
Successfully deleted OSM CRD: egresses.policy.openservicemesh.io
Successfully deleted OSM CRD: ingressbackends.policy.openservicemesh.io
Successfully deleted OSM CRD: meshconfigs.config.openservicemesh.io
Successfully deleted OSM CRD: multiclusterservices.config.openservicemesh.io
Successfully deleted OSM CRD: httproutegroups.specs.smi-spec.io
Successfully deleted OSM CRD: tcproutes.specs.smi-spec.io
Successfully deleted OSM CRD: trafficsplits.split.smi-spec.io
Successfully deleted OSM CRD: traffictargets.access.smi-spec.io
Successfully deleted OSM MutatingWebhookConfiguration: osm-webhook-osm
Successfully deleted OSM ValidatingWebhookConfiguration: osm-validator-mesh-osm
Successfully deleted OSM secret osm-ca-bundle in namespace osm-system
Successfully deleted OSM secret crd-converter-cert-secret in namespace osm-system
Successfully deleted OSM secret mutating-webhook-cert-secret in namespace osm-system
Successfully deleted OSM secret validating-webhook-cert-secret in namespace osm-system

~/Dev/osm(uninstall-cluster-wide-resources ✔) ./bin/osm uninstall cluster-wide-resources

Uninstall OSM resources belonging to mesh 'osm' in mesh namespace 'osm-system'? [y/n]: y
Ignoring - did not find OSM CRD: egresses.policy.openservicemesh.io
Ignoring - did not find OSM CRD: ingressbackends.policy.openservicemesh.io
Ignoring - did not find OSM CRD: meshconfigs.config.openservicemesh.io
Ignoring - did not find OSM CRD: multiclusterservices.config.openservicemesh.io
Ignoring - did not find OSM CRD: httproutegroups.specs.smi-spec.io
Ignoring - did not find OSM CRD: tcproutes.specs.smi-spec.io
Ignoring - did not find OSM CRD: trafficsplits.split.smi-spec.io
Ignoring - did not find OSM CRD: traffictargets.access.smi-spec.io
Ignoring - did not find any OSM MutatingWebhookConfigurations in the cluster. Use --mesh-name to delete MutatingWebhookConfigurations belonging to a specific mesh if desired
Ignoring - did not find any OSM ValidatingWebhookConfigurations in the cluster. Use --mesh-name to delete ValidatingWebhookConfigurations belonging to a specific mesh if desired
Ignoring - did not find OSM CA bundle secret osm-ca-bundle in namespace osm-system. Use --ca-bundle-secret-name and --osm-namespace to delete a specific mesh namespace's CA bundle secret if desired
Ignoring - did not find OSM secret crd-converter-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired
Ignoring - did not find OSM secret mutating-webhook-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired
Ignoring - did not find OSM secret validating-webhook-cert-secret in namespace osm-system. Use --osm-namespace to delete a specific mesh namespace's secret if desired


Issue loading mzqc CV obo with pronto

Using "https://raw.githubusercontent.com/HUPO-PSI/mzQC/master/cv/qc-cv.obo" (or "https://github.com/HUPO-PSI/mzQC/raw/master/cv/qc-cv.obo" for that matter):
ValueError: could not find a parser to parse 'https://github.com/obi-ontology/obi/blob/master/views/obi.obo'

and respectively for the alternative URL:
ValueError: could not find a parser to parse 'https://github.com/ISA-tools/stato/blob/dev/releases/1.4/stato.obo'

like that:
from pronto import Ontology
Ontology("https://github.com/HUPO-PSI/mzQC/raw/master/cv/qc-cv.obo")


Log purging goes to stdout breaking scripts

Following https://github.com/apache/maven-mvnd/issues/513#issuecomment-959520767, i use mvnd in a script like this
project_version=$(mvnd -B help:evaluate -Dexpression=pom.version -q -DforceStdout --raw-streams)

This breaks, however, if mvnd decides to purge logs.
The variable ends up containing a value like:
372-SNAPSHOT
Purged 18 log files (log available in /Users/findepi/.m2/mvnd/registry/0.7.1/purge-2022-02-25.log)

@findepi #617 prints the message to the error stream so that you could redirect it to /dev/null without having to disable purge. Would that work for you ?

@gnodet the stderr would do,  thanks!
(in my case, i don't even need to redirect it to /dev/null, it simply won't become of shell's variable value)


Wazuh dashboard's help window has a whitespace between v and version

Description
Testing the Step-by-Step deployment in the https://github.com/wazuh/wazuh-dashboard/issues/223 issue, I have found an error in the Wazuh dashboard version's help window
There is an extra whitespace between v and version, which is not present in previous versions

In the pre-4.9.0 versions, this is being modified in
https://github.com/wazuh/wazuh-packages/blob/master/stack/dashboard/base/builder.sh#L140C1-L140C209
sed -i 's|"core.ui.chrome.headerGlobalNav.helpMenuVersion",defaultMessage:"v {version}"|"core.ui.chrome.headerGlobalNav.helpMenuVersion",defaultMessage:"v'${version}'"|' ./src/core/target/public/core.entry.js

Related

https://github.com/wazuh/wazuh-packages/pull/1512

Tasks

[ ] Remove whitespace

To me that looks an unintended change in the sed command which was in charge of setting the version. As the new code does modify it in the forked version, the unintended change disappeared.

We will use the opensearch style to avoid creating more conflicting changes and possible style problems.


update to senzing 3.6

update to use new docker images and senzing 3.6

PR merged, release published


Time Picker design pass

We recently added a time picker and it is functional, but I want to make sure a designer takes a look at it.

I couldnt get classes to add to the span wrapping the icons. Wanted to vertically align the arrows to be in the middle of the button. Pulling back into Icebox until my question is answered in the channel.


Roll Flutter Engine from b7297f025972 to 835759f4c5e8 (3 revisions)

https://github.com/flutter/engine/compare/b7297f025972...835759f4c5e8
2023-03-15<EMAIL_ADDRESS>Roll Skia from 4d90ba479527 to 3b9131c65c01 (5 revisions) (flutter/engine#40304)
2023-03-15<EMAIL_ADDRESS>[Impeller] Make matrix image filters work as expected with nested saving layers (flutter/engine#40299)
2023-03-15<EMAIL_ADDRESS>Manual roll Dart SDK from c766fffb626e to 3b109a04f783 (9 revisions) (flutter/engine#40296)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC aaclarke@google.com,rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Closing to trigger a new roll following a fix landing in the framework.

Commit queue failed; closing this roll.


ENH: refactoring with variational inference

This PR is a refactored version of #43
This will be first PR of many - here, we will only push out the variational inference implementation of mmvec.

The code has been refactored and won't be expected to pass due to the qiime2 plugin in that needs to be fixed.  This is available for review if there is interest.

Closing. Will readdress at a later date


Cannot get the same ILoggerFactory from the services.BuildServiceProvider.GetService

I am not sure if I should post on Hosting or Extensions.  I start from Hosting.
My app uses Log4Net so I need to call loggerFactory.AddLog4Net() to log to a log file.
I have read these threads:
https://github.com/aspnet/Logging/issues/361
https://github.com/aspnet/Hosting/issues/1150
I have called the loggerFactory.AddLog4Net at both Startup constructor and in the Configure function call.
However, in the ConfigureServices, I need to Add a IXmlRepository singleton and then uses it for the AddDataProtection call.   I call the services.BuildServiceProvider().GetService() to generate that Singleton IXmlRepository.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<IXmlRepository, MyXmlRepository>();

            services.AddDataProtection()
                .AddKeyManagementOptions(options =>
                {
                    options.XmlRepository = services.BuildServiceProvider().GetService<IXmlRepository>();

                })
                .ProtectKeysWithCertificate(_certificate)
                .SetApplicationName(APP_NAME);
        }

The MyXmlRepository keeps a ILogger member for logging.
        public MyXmlRepository(ILogger<MyXmlRepository> logger)
        {
            _logger = logger;
        }

I notice the logging inside MyXmlRepository are not logged to the file.  But I run the app in console, the console logging has it.    When I debug it, I can only see the Console and Debug logger from the ILogger injected into the MyXmlRepository ctor, it does not have the Log4Net one.   I think I need to call the loggerFactory.AddLog4Net before the GetService.
I call the services.BuildServiceProvider() and koggerFactory.AddLog4Net() inside the AddKeyManagementOptions:
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<IXmlRepository, MyXmlRepository>();

            services.AddDataProtection()
                .AddKeyManagementOptions(options =>
                {
                    ServiceProvider sp = services.BuildServiceProvider();

                    ILoggerFactory loggerFactory = sp.GetService<ILoggerFactory>();
                    if (loggerFactory != null)
                    {
                        loggerFactory.AddLog4Net();
                    }
.
                    options.XmlRepository = sp.GetService<IXmlRepository>();

                })
                .ProtectKeysWithCertificate(_certificate)
                .SetApplicationName(APP_NAME);
        }

After, it works fine and I can see the log4Net logger is available from the ILogger injected.
Later on, I need the log something before that AddSingleton and AddDataProtection, so I move the loggerFactory.AddLog4Net() at the beginning of the ConfigureServices function.
        public void ConfigureServices(IServiceCollection services)
        {
            ServiceProvider sp = services.BuildServiceProvider();

            ILoggerFactory loggerFactory = sp.GetService<ILoggerFactory>();
            if (loggerFactory != null)
            {
                loggerFactory.AddLog4Net();

                _logger = loggerFactory.CreateLogger(this.GetType().FullName);
            }

            _logger.LogDebug("Testing");

            services.AddSingleton<IXmlRepository, MyXmlRepository>();

            services.AddDataProtection()
                .AddKeyManagementOptions(options =>
                {
                    ServiceProvider sp = services.BuildServiceProvider();
.
                    options.XmlRepository = sp.GetService<IXmlRepository>();

                })
                .ProtectKeysWithCertificate(_certificate)
                .SetApplicationName(APP_NAME);
        }

After that, the Log4Net is not available in the ILogger injected into the MyXmlRepository.
I need to call the services.BuildServiceProvider at the beginning to call the AddLog4Net and set the _logger.     I need to call the services.BuildServiceProvider again in the AddKeyManagementOptions so it can create the IXmlRepository singleton.
I read https://github.com/aspnet/DependencyInjection/issues/595#issuecomment-338059457 saying

calling BuildServiceProvider creates a new ServiceProvider every time, singletons are scoped to service provider

Then I try calling services.BuildServiceProvider at different place inside the ConfigureServices function like the followings

            ServiceProvider serviceProvider1 = services.BuildServiceProvider();
            ILoggerFactory loggerFactory1 = serviceProvider.GetService<ILoggerFactory>();

            ServiceProvider serviceProvider2 = services.BuildServiceProvider();
            ILoggerFactory loggerFactory2 = serviceProvider.GetService<ILoggerFactory>();

            ServiceProvider serviceProvider3 = services.BuildServiceProvider();
            ILoggerFactory loggerFactory3 = serviceProvider.GetService<ILoggerFactory>();

I use Visual Studio to debug it and Make Object ID to the loggerFactory1, loggerFactory2 and loggerFactory3.   It shows they are the same instance even they are created from different instances of serviceProvider1, serviceProvider2 and serviceProvider3.
So, it looks like the ILoggerFactory is the same throughout the ConfigureService function, but the one created in the AddKeyManagementOptions call back.   Why is that?   The BuildServiceProvider is called from the same services.

In general you shouldn't be calling BuildServiceProvider, it is rarely going to give you what you want.
If you need the same instance of the XMLRepository to be used both in ConfigureServices and elsewhere in your application then I would create an instance yourself in configure services, register in services, and then set it on your options class.
something like:
var repo = new MyXmlRepository();

services.AddSingleton<IXmlRepository>(repo);
services.AddDataProtection()
            .AddKeyManagementOptions(options => options.XmlRepository repo);

Whenever you call BuildServiceProvider you are, conceptually, creating a whole new set of singletons that only work for the specific service provider you just built. It's completely unrelated to the other service provider that will by used by the rest of the application.
However, this whole thing seems strange. @blowdart @Tratcher can one of you tell me if data protection can just resolve an IXmlRepository from DI instead of having it set like what's being shown here?

@glennc  Thanks for your reply.   If that MyXmlRepository does not take any parameters in the constructor, that will work.  But the MyXmlRepository will have other injections like IOption, ILogger, ISomethingProvider.    I need to build up the dependency tree and create all those instance myself.

You could do this with IPhostConfigureOptions:
https://github.com/aspnet/AspNetCore/blob/9251dfe7c09f04c6a17dc8e5b96817031730c301/src/Security/Authentication/Cookies/src/PostConfigureCookieAuthenticationOptions.cs#L13-L29
There's also this approach:
https://github.com/aspnet/AspNetCore/blob/416d8cd1ea098eb643b4258247af3448f5545c32/src/DataProtection/DataProtection/src/DataProtectionBuilderExtensions.cs#L268-L275

@Tratcher .  Sorry, I don't get what you mean.  The first example you gave is for CookieAuthenticationOptions.  But I don't see the KeyManagementOptions has the similar PostConfigure function.
I think @glennc question is if the IXmlRepository is added to the IServiceCollection by the following line
services.AddSingleton<IXmlRepository, MyXmlRepository>();
DataProtection will get this from the DI.   But I don't see the codes from your second example doing it.  That codes get the ILoggerFactory from DI, but I don't see it getting the IXmlRepository and set it.
Am I misunderstanding what you guys mean?

I was giving examples of how a property could be set from DI that wasn't normally. I.e. you could register your own PostConfigure, or in the second example you could call GetService<IXmlRepository>() just like is done for the logger.

I didn't see anywhere that DataProtection would resolve IXmlRepository from DI.

@Tratcher.  The following is what I am trying to do to call the GetService().  But inside the AddKeyManagementOptions called in the ConfigureServices, the only way I can get the ServiceProvider is I call the services.BuildServiceProvider, but Glennc says I should not call it.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<IXmlRepository, MyXmlRepository>();

            services.AddDataProtection()
                .AddKeyManagementOptions(options =>
                {
                    ServiceProvider sp = services.BuildServiceProvider();

                    options.XmlRepository = sp.GetService<IXmlRepository>();

                })
                .ProtectKeysWithCertificate(_certificate)
                .SetApplicationName(APP_NAME);
        }

Do you know how I can get the ServiceProvider inside the ConfigServices without calling the BuildServiceProvider?

You can't get the ServiceProvider directly in ConfigureServices, only in callbacks like those examples showed.

@Tratcher, the PostConfigure function does not provide the ServiceProvider, where can it get the ServiceProvider inside the PostConfigure call?
    //
    // Summary:
    //     Represents something that configures the TOptions type. Note: These are run after
    //     all Microsoft.Extensions.Options.IConfigureOptions`1.
    //
    // Type parameters:
    //   TOptions:
    public interface IPostConfigureOptions<in TOptions> where TOptions : class
    {
        //
        // Summary:
        //     Invoked to configure a TOptions instance.
        //
        // Parameters:
        //   name:
        //     The name of the options instance being configured.
        //
        //   options:
        //     The options instance to configured.
        void PostConfigure(string name, TOptions options);
    }

Why doesn't the Data Protection provide a simple way to set the options.XmlRepository from DI?
All PersistKeysToFileSystem, PersistKeysToRegistry, PersistKeysToRedis and PersistKeystoAzureBlobStorageInternal create the XmlRepository by new.
Could you please show how to use the examples you shown to get the ServiceProvider to GetService() and set it to the options.XmlRepository.   I really can't find a clean way.

If you're going to use IPostConfigureOptions then you inject the DI dependencies (IXmlRepository) into the constructor of your implementation like the PostConfigureCookieAuthenticationOptions example did with IDataProtectionProvider.

@Tratcher, you mean instead of calling the AddKeyManagementOptions, use the IPostConfigureOptions to set the options.XmlRepository like this:
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSingleton<IXmlRepository, MyXmlRepository>();

            services.AddDataProtection()
                .ProtectKeysWithCertificate(_certificate)
                .SetApplicationName(APP_NAME);

            services.TryAddEnumerable(ServiceDescriptor.Singleton<IPostConfigureOptions<KeyManagementOptions>, PostConfigureKeyManagementOptions>());
        }

        public class PostConfigureKeyManagementOptions : IPostConfigureOptions<KeyManagementOptions>
        {
            private readonly IXmlRepository _xmlRepo;

            public PostConfigureCookieAuthenticationOptions(IXmlRepository xmlRepository)
            {
                _xmlRepo = dataProtection;
            }

            public void PostConfigure(string name, KeyManagementOptions options)
            {
                options.XmlRepository = options.XmlRepository ?? _xmlRepo;
            }
        }

Ok.  I can try.   But why doesn't the KeyManagementOptions is doing that like the CookieAuthenticationOptions out of the box as the options.XmlRepository should allow a custom one from DI?
But thanks, just learn another way to do the job.

@Tratcher.   The PostConfigureKeyManagementOptions works.  But now, I have another problem.  I use Log4Net to do logging.
As shown in the above codes, I call the loggerFactory.AddLog4Net() in the ConfigureServicesto add the Log4Net as the ILoggerProvider.
            ServiceProvider sp = services.BuildServiceProvider();

            ILoggerFactory loggerFactory = sp.GetService<ILoggerFactory>();
            if (loggerFactory != null)
            {
                loggerFactory.AddLog4Net();

                _logger = loggerFactory.CreateLogger(this.GetType().FullName);
            }

so that the ILogger or ILoggerFactory injected into the MyXmlRepository has the Log4Net.
I have read these two threads about the different ILoggerFactory instances used between the "HostingServices" and "ApplicationServices"
https://github.com/aspnet/Logging/issues/361
https://github.com/aspnet/Hosting/issues/1150
and I already call the loggerFactory.AddLog4Net() in the Configure function.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddLog4Net();
            _logger = loggerFactory.CreateLogger(this.GetType().FullName);

But it seems the PostConfigureKeyManagementOptions  is called before the Configure and the ILogger injected into the MyXmlRepository for the PostConfigureKeyManagementOptions   does not have the Log4Net logger.
Do you think I should inject the ILoggerFactory into the PostConfigureKeyManagementOptions  and call loggerFactory.AddLog4Net() there.   I just find it ugly to call the loggerFactory.AddLog4Net() at different places.
Is the PostConfigureXXXOptions  called before Configure?   Where is the good place to call the loggerFactory.AddLog4Net().

Stop calling BuildServiceProvider, nothing good can come from it.
Setting up Log4Net in Configure should be enough.

You need a lot more help than we have resources for. I suggest taking questions like this to stackoverflow.com.

@Tratcher.   Sorry, I know I ask too much.  But I cannot find an answer from Stackoverflow

Setting up Log4Net in Configure should be enough.

The Configure is called after the IPostConfigureOptions, setting up Log4Net there is after the MyXmlRepository is constructed and the ILogger or ILoggerFactory injected won't have the Log4Net.

I think I set up the Log4NetProvider at the wrong place.  It should do something like what the AddConsole or AddDebug do to set it using the ILoggingBuilder at the ConfigureLogging, then it does not need to call the loggerFactory.AddLog4Net at the Startup constructor or at Startup.Configure.
Thanks for your help.  I close this issue


ARROW-17715: [CI][C++][Python] Temporary allow failures for s390x on travis

The s390x builds currently time out on Travis-CI while compiling Arrow C++.
I'll create a new ticket to follow this up but on the meantime we probably should allow them to fail.

@pitrou should we do this?

cc @kiszk for information.

@pitrou should we do this?

I'm in favor, since I don't think there's much else we can easily do.

Looks fine to allow failure now. I will check the reason of timeout.


Docker environment start fails with - Starting multimacd: ..........ERROR on Ubuntu 18.0.4 since <IP_ADDRESS>30322-af1a3fc /  <IP_ADDRESS>30407

Describe the issue you are experiencing
After pulling <IP_ADDRESS>30407 the system start fails with Starting multimacd: ..........ERROR.
System was working with bild <= <IP_ADDRESS>30225 fine.
If i try to open the webGUI, starting screen will be displayed (Bitte warten.

Docker environment on Ubuntu 18.0.4.
x86 based system
HMIP-RFUSB: 4.4.18

docker compose logs output:
ccu_3  | Starting watchdog...
ccu_3  | Identifying host system: oci, OK
ccu_3  | Initializing RTC Clock: onboard, OK
ccu_3  | Running sysctl: OK
ccu_3  | Checking for Factory Reset: not required
ccu_3  | Checking for Backup Restore: not required
ccu_3  | Initializing System: OK
ccu_3  | Setup ca-certificates: OK
ccu_3  | Starting logging: OK
ccu_3  | Populating /dev using udev: done
ccu_3  | Init onboard LEDs: init, OK
ccu_3  | Starting irqbalance: OK
ccu_3  | Saving 256 bits of creditable seed for next boot
ccu_3  | Starting iptables: OK
ccu_3  | Starting network: eth0: link up, fixed, firewall, inet up, <IP_ADDRESS>, OK
ccu_3  | Identifying Homematic RF-Hardware: ....HmRF: HMIP-RFUSB/eQ-3 HmIP-RFUSB@usb-0000:00:15.0-8, HmIP: HMIP-RFUSB/eQ-3 HmIP-RFUSB@usb-0000:00:15.0-8, OK
ccu_3  | Updating Homematic RF-Hardware: HMIP-RFUSB: 4.4.18, not necessary, OK
ccu_3  | Starting hs485dLoader: disabled
ccu_3  | Starting xinetd: OK
ccu_3  | Starting eq3configd: OK
ccu_3  | Starting lighttpd: OK
ccu_3  | Starting ser2net: disabled
ccu_3  | Starting ssdpd: OK
ccu_3  | Starting NUT services: disabled
ccu_3  | Initializing Third-Party Addons: OK
ccu_3  | Starting LGWFirmwareUpdate: ...OK
ccu_3  | Setting LAN Gateway keys: OK
ccu_3  | Starting hs485d: disabled
ccu_3  | Starting multimacd: ...........ERROR
ccu_3  | Starting rfd: ERROR: /dev/mmd_bidcos missing, no BidCos-RF hardware found
ccu_3  | Starting HMIPServer: ERROR: /dev/mmd_hmip missing
ccu_3  | Starting ReGaHss: ....................ERROR
ccu_3  | Starting CloudMatic: OK
ccu_3  | Starting Third-Party Addons: OK
ccu_3  | Starting crond: OK
ccu_3  | Setup onboard LEDs: booted, OK
ccu_3  | Finished Boot: <IP_ADDRESS>30322 (raspmatic_oci_amd64)

docker-compose.yaml
version: "3.8"
services:
  raspberrymatic:
    image: ghcr.io/jens-maus/raspberrymatic:<IP_ADDRESS>30407
    container_name: ccu_3
    hostname: homematic-raspi
    privileged: true
    restart: unless-stopped
    stop_grace_period: 10s
    volumes:
      - ./volumes/ccudata:/usr/local:rw
      - /lib/modules:/lib/modules:ro
      - /run/udev/control:/run/udev/control
    ports:
      - "<IP_ADDRESS>:80:80"
      - "<IP_ADDRESS>:2001:2001"
      - "<IP_ADDRESS>:2010:2010"
      - "<IP_ADDRESS>:9292:9292"
      ##ccu jack
      - "<IP_ADDRESS>:2121:2121"
      - "<IP_ADDRESS>:2122:2122"
      - "<IP_ADDRESS>:1883:1883"
      - "<IP_ADDRESS>:8883:8883"

volumes:
  ccu_data:

Describe the behavior you expected
System starts as with <IP_ADDRESS>30225 before.
ccu_3  | Starting watchdog...
ccu_3  | Identifying host system: oci, OK
ccu_3  | Initializing RTC Clock: onboard, OK
ccu_3  | Running sysctl: OK
ccu_3  | Checking for Factory Reset: not required
ccu_3  | Checking for Backup Restore: not required
ccu_3  | Initializing System: OK
ccu_3  | Setup ca-certificates: OK
ccu_3  | Starting logging: OK
ccu_3  | Populating /dev using udev: done
ccu_3  | Init onboard LEDs: init, OK
ccu_3  | Starting irqbalance: OK
ccu_3  | Starting iptables: OK
ccu_3  | Starting network: eth0: link up, fixed, firewall, inet up, <IP_ADDRESS>, OK
ccu_3  | Identifying Homematic RF-Hardware: ....HmRF: HMIP-RFUSB/eQ-3 HmIP-RFUSB@usb-0000:00:15.0-8, HmIP: HMIP-RFUSB/eQ-3 HmIP-RFUSB@usb-0000:00:15.0-8, OK
ccu_3  | Updating Homematic RF-Hardware: HMIP-RFUSB: 4.4.18, not necessary, OK
ccu_3  | Starting hs485dLoader: disabled
ccu_3  | Starting xinetd: OK
ccu_3  | Starting eq3configd: OK
ccu_3  | Starting lighttpd: OK
ccu_3  | Starting ser2net: disabled
ccu_3  | Starting ssdpd: OK
ccu_3  | Starting NUT services: disabled
ccu_3  | Initializing Third-Party Addons: OK
ccu_3  | Starting LGWFirmwareUpdate: ...OK
ccu_3  | Setting LAN Gateway keys: OK
ccu_3  | Starting hs485d: disabled
ccu_3  | Starting multimacd: ...OK
ccu_3  | Starting rfd: .OK
ccu_3  | Starting HMIPServer: .........OK
ccu_3  | Starting ReGaHss: .OK
ccu_3  | Starting CloudMatic: OK
ccu_3  | Starting Third-Party Addons: OK
ccu_3  | Starting crond: OK
ccu_3  | Setup onboard LEDs: booted, OK
ccu_3  | Finished Boot: <IP_ADDRESS>30225 (raspmatic_oci_amd64)

Steps to reproduce the issue

Change image from ghcr.io/jens-maus/raspberrymatic:<IP_ADDRESS>30225 to ghcr.io/jens-maus/raspberrymatic:latest
Execute docker compose up
Wait a while until ' Finished Boot' displayed

What is the version this bug report is based on?
<IP_ADDRESS>30407
Which base platform are you running?
oci (Open Container Infrastructure)
Which HomeMatic/homematicIP radio module are you using?
HmIP-RFUSB
Anything in the logs that might be useful for us?
/var/log/message

May  2 22:46:41 homematic-raspi syslog.info syslogd started: BusyBox v1.36.0
May  2 22:46:42 homematic-raspi user.info firewall: configuration set
May  2 22:46:46 homematic-raspi daemon.err xinetd[1205]: Unable to read included directory: /etc/config/xinetd.d [file=/etc/xinetd.conf] [line=14]
May  2 22:46:46 homematic-raspi daemon.crit xinetd[1205]: 1205 {init_services} no services. Exiting...
May  2 22:46:46 homematic-raspi user.debug ccu-jack: Starting
May  2 22:46:46 homematic-raspi user.info ccu-jack: Started
May  2 22:47:47 homematic-raspi daemon.info : starting pid 4113, tty '': '/bin/mv /tmp/boot.log /var/log/boot.log'
May  2 22:47:47 homematic-raspi daemon.info : starting pid 4114, tty '/dev/null': '/usr/bin/monit -Ic /etc/monitrc'
May  2 22:47:47 homematic-raspi user.info monit[4114]: Starting Monit 5.30.0 daemon with http interface at /var/run/monit.sock
May  2 22:47:47 homematic-raspi user.info monit[4114]: 'homematic-raspi' Monit 5.30.0 started
May  2 22:47:47 homematic-raspi user.err monit[4114]: 'ssdpd' process is not running
May  2 22:47:47 homematic-raspi user.info monit[4114]: 'ssdpd' trying to restart
May  2 22:47:47 homematic-raspi user.info monit[4114]: 'ssdpd' restart: '/etc/init.d/S50ssdpd restart'
May  2 22:48:01 homematic-raspi user.err monit[4114]: 'ssdpd' service restarted 1 times within 1 cycles(s) - exec
May  2 22:48:01 homematic-raspi user.info monit[4114]: 'ssdpd' exec: '/bin/triggerAlarm.tcl ssdpd restarted WatchDog: ssdpd-restart true'
May  2 22:48:01 homematic-raspi user.err monit[4114]: 'ssdpd' process is not running
May  2 22:48:01 homematic-raspi user.info monit[4114]: 'ssdpd' trying to restart
May  2 22:48:01 homematic-raspi user.info monit[4114]: 'ssdpd' restart: '/etc/init.d/S50ssdpd restart'
May  2 22:48:01 homematic-raspi user.err monit[4114]: 'sshdEnabled' status failed (1) -- no output
May  2 22:48:01 homematic-raspi user.err monit[4114]: 'hs485dEnabled' status failed (2) -- grep: /var/etc/hs485d.conf: No such file or directory
May  2 22:48:01 homematic-raspi user.err monit[4114]: 'hmlangwEnabled' status failed (1) -- no output
May  2 22:48:01 homematic-raspi user.err monit[4114]: 'rfdEnabled' status failed (1) -- no output
May  2 22:48:01 homematic-raspi user.err monit[4114]: 'HMIPServer' process is not running
May  2 22:48:01 homematic-raspi user.info monit[4114]: 'HMIPServer' trying to restart
May  2 22:48:01 homematic-raspi user.info monit[4114]: 'HMIPServer' restart: '/etc/init.d/S62HMServer restart'
May  2 22:48:32 homematic-raspi user.err monit[4114]: 'HMIPServer' failed to restart (exit status 1) -- '/etc/init.d/S62HMServer restart': Stopping HMIPServer: OK Starting HMIPServer: ERROR: /dev/mmd_hmip missing
May  2 22:48:32 homematic-raspi user.err monit[4114]: 'ReGaHss' process is not running
May  2 22:48:32 homematic-raspi user.info monit[4114]: 'ReGaHss' trying to restart
May  2 22:48:32 homematic-raspi user.info monit[4114]: 'ReGaHss' restart: '/etc/init.d/S70ReGaHss restart'
May  2 22:49:02 homematic-raspi user.err monit[4114]: 'ReGaHss' failed to restart (exit status -1) -- '/etc/init.d/S70ReGaHss restart': Program timed out -- start-stop-daemon: warning: killing process 2294: No such process
May  2 22:49:02 homematic-raspi user.warn monit[4114]: 'hasUSB' status failed (1) -- no output
May  2 22:49:02 homematic-raspi user.err monit[4114]: 'hb_rf_eth-CheckEnabled' status failed (1) -- no output
May  2 22:49:02 homematic-raspi user.warn monit[4114]: 'rpi4usb3Check' status failed (1) -- no output
May  2 22:49:02 homematic-raspi user.err monit[4114]: 'tailscaleEnabled' status failed (1) -- no output
May  2 22:49:02 homematic-raspi user.err monit[4114]: 'multimacd' process is not running
May  2 22:49:02 homematic-raspi user.info monit[4114]: 'multimacd' trying to restart
May  2 22:49:02 homematic-raspi user.info monit[4114]: 'multimacd' restart: '/etc/init.d/S60multimacd restart'

Additional information
Issue has been introduces with snapshot <IP_ADDRESS>30322-af1a3fc

This looks like some kernel modules are now missing on your host system (possibly due to a kernel or general ubuntu update process). This is quite a common problem if people tend to update their systems in general and are missing to take care of the necessary kernel modules that are required for the Homematic RF modules. Thus, have you tried to re-install the following packages:
sudo apt reinstall pivccu-modules-dkms

And if you are using a raspberrypi as your base platform also make sure to do:
sudo apt reinstall pivccu-modules-raspberrypi raspberrypi-kernel raspberrypi-kernel-headers raspberrypi-bootloader

If you use a different platform it can be that you have to install other packages for the kernel headers so that the necessary kernel modules can be compiled in during reinstall of the pivccu-modules-dkms package.
And then do the following and check that no error is returned.
sudo service pivccu-dkms restart
sudo modprobe eq3_char_loop

Hello.
I have the same issue with a docker container <IP_ADDRESS>30626 on debian 10. The HMIP-RFUSB/eQ-3  is found. Also reinstalling the kernel driver does not help.
root@vccu:~# systemctl status pivccu-dkms.service
● pivccu-dkms.service - piVCCU DKMS Modules
Loaded: loaded (/lib/systemd/system/pivccu-dkms.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Thu 2023-06-29 11:53:59 CEST; 29min ago
Process: 14236 ExecStart=/var/lib/piVCCU/dkms/ensure_modules.sh (code=exited, status=0/SUCCESS)
Main PID: 14236 (code=exited, status=0/SUCCESS)
Jun 29 11:53:59 vccu systemd[1]: Starting piVCCU DKMS Modules...
Jun 29 11:53:59 vccu systemd[1]: pivccu-dkms.service: Succeeded.
Jun 29 11:53:59 vccu systemd[1]: Started piVCCU DKMS Modules.
I have device /dev/eq3loop but no /dev/mmd_bidcos  and /dev/mmd_hmip. Guess that will let multimacd failing.
How to deeper trouble shoot that issue? Thx.

Sorry, but please use the new install-docker.sh installation script (cf. https://github.com/jens-maus/RaspberryMatic/wiki/Installation-Docker-OCI#installation-procedure) to ensure you have done everything correctly and also make sure to try the "uninstall" option of that script.

Hello.
I have used it before but tried uninstall and install again: same issue. The /dev/eq3loop device is there but no /dev/mmd_bidcos and /dev/mmd_hmip Any idea how to debug it? i guess this is more a piVCCU issue right? So the serial port is called by the kernel driver and ended in the loop modul? How is then the multimacd coming into the game? Calling those mmd devices? Who is creating them the loop device? How to debug then this guy? Thx.

The /dev/eq3loop device is there but no /dev/mmd_bidcos and /dev/mmd_hmip Any idea how to debug it?

The /dev/mmd_bidcos and /dev/mmd_hmip are generated when multimacd are started (because it creates them). So try to start it manually and see if there might be some permission errors, thought. In the end this is, however, not easy to debug and docker/OCI installation of RaspberryMatic are known to be prone to local installation differences and also critical in terms of what your actualy docker host system is (since RaspberryMatic requires kernel modules, etc.).

i guess this is more a piVCCU issue right? So the serial port is called by the kernel driver and ended in the loop modul? How is then the multimacd coming into the game? Calling those mmd devices? Who is creating them the loop device? How to debug then this guy? Thx.

Sorry, but this is no discussion/support fora here but a bug/issue tracker. If you need help or would like to discuss your problem move over to the discussion part since this is definitly no general issue here simply because a plain/fresh docker/OCI installation works perfectly here in all of my test systems and other ppl also have to perfectly running. Thus, I suspect a local issue on your end which needs debugging/analyses - however, this is not something that should be done here in the bug/issue tracker!

i found the reason for the fail in this RaspberryMatic docker setup: it does not support debian 10 and also ubuntu 18 anymore. reason is piVCCU brings an error regarding the old kernel/libc. you will figure out while trying to install debmatic. my other test setup was debian 12. i updated now to debian 11 and all is working fine.

That's exactly what I meant: The docker/OCI setup routine is too much prone and dependent on the actual underlying operating system used. That's why every other month someone is coming up here with issues and then we have to tell him that it is caused by their environment. That's why I always suggest to either use non-dockerized RaspberryMatic installation or use HomeAssistant and use RaspberryMatic as a HA addon or even better use ProxmoxVE as a virtualization platform and run RaspberryMatic as a plain VM. All these direct docker/OCI installation pathes are way to prone on the actual underlying OS and hardware platform used....


foreignKeyConstraintExists fails with CS collation MSSQL Server DB

Environment
Liquibase Version: 3.5.3 and 3.5.4
Liquibase Integration & Version: maven
Database Vendor & Version: MSSQL Server 2014
Description
---Created a DB with CS collation
CREATE DATABASE CRDB_CS_NEW_CRDB COLLATE SQL_Latin1_General_CP1_CS_AS;
--Start liquibase updates
<changeSet author="${default.author}"  id="Drop_LP_Contraint">
  <validCheckSum>ANY</validCheckSum>
  <preConditions onFail="MARK_RAN" >
    <foreignKeyConstraintExists  foreignKeyName="FK_LP_device"/>
  </preConditions>
  <dropForeignKeyConstraint baseTableName="Employee_Devices" constraintName="FK_LP_device"/>
</changeSet>

Error while executing Liquibase updates:
liquibase.exception.MigrationFailedException: Migration failed for change set liquibase/11.0/employee_devices-ddl.xml:: Drop_LP_Contraint::Test DA:
Reason:
liquibase/changelog-master.xml : liquibase.precondition.core.ForeignKeyExistsPrecondition@3c952a33 : Invalid object name 'SYS.INDEXES'.

Tested following queries
select * from SYS.INDEXES;
--No Result
select * from sys.indexes;
--Result exists
Tried the same in CI Collation DB and all worked as charm.
Disclaimer: This is a copy of saikat sarkar's issue however everything was moved to github and nobody seems to work on the old jira anymore...

Hi @Lonzak Thanks for writing up this issue.  Quick question, does this still fail on Liquibase 4.x, because we are not planning on releasing any updates on the 3.x branches.

Good question - didn't test it with version 4.X so I can't tell. I forwarded the question to saikat sarkar maybe he can anwer...

Hi @Lonzak Were you able to contact saikat sarkar to find out if 4.x works for you or not.


Amazon S3 virtual-hosted-style buckets fail with java.net.UnknownHostException

I was testing s3Mock with a bucketname containing _ characters and all went well, until I swtiched the _ with -, and all of a sudden it was failing with
Caused by: java.net.UnknownHostException: some-bucket-name.s3-mock
	at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
	at java.net.InetAddress.getAllByName(InetAddress.java:1193)
	at java.net.InetAddress.getAllByName(InetAddress.java:1127)
	at com.amazonaws.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:27)
	at com.amazonaws.http.DelegatingDnsResolver.resolve(DelegatingDnsResolver.java:38)
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:112)
	at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:376)
	at sun.reflect.GeneratedMethodAccessor41.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at com.amazonaws.http.conn.ClientConnectionManagerFactory$Handler.invoke(ClientConnectionManagerFactory.java:76)
	at com.amazonaws.http.conn.$Proxy79.connect(Unknown Source)
	at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
	at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
	at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
	at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
	at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:56)
	at com.amazonaws.http.apache.client.impl.SdkHttpClient.execute(SdkHttpClient.java:72)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeOneRequest(AmazonHttpClient.java:1236)
	at com.amazonaws.http.AmazonHttpClient$RequestExecutor.executeHelper(AmazonHttpClient.java:1056)
	... 73 common frames omitted

It seems that AWS has deprecated path-style-api requests in favor of virtual addressing, leading to this issue.
What would be the best way to resolve this ?

We have a related feature description with #144.
The issue describes some ideas and challenges around it, but it wasn't picked up, yet. Contributions are welcome 🙂 .


[gardening] Fix URLs. Fix double spaces. Fix headers. Fix trailing whitespace.

@swift-ci please smoke test and merge


docs: re-design cilium docs theme

Signed-off-by: Sergey Generalov<EMAIL_ADDRESS>

Coverage increased (+0.008%) to 36.911% when pulling fb73eba881a12871d486640e7f28c25fa9ba4c9f on genbit/docs-theme-redesign into b7be1c000760bbdcb00c88b6c686334cc22150e5 on master.

thanks @genbit it looks great overall. maybe we should put the cilium logo on the top left corner? it looks a bit empty right now.

@genbit it's getting better but not quite there yet :)

https://5ed6d774fb011f41637a7337--cilium-docs.netlify.app/

btw hit me up if you need someone to help with testing on the RTD platform to ensure we don't break the docs build when we merge this PR.

looks like docs-builder doesn't have the required dependencies from requirements.txt. @joestringer @michi-covalent how can I update docs builder?

@genbit I updated the builder against this PR and it's passing now.

Travis failure looks unrelated. I'm fine with pointing at a specific commit.

https://5ee070dd93a6680007cf38ed--cilium-docs.netlify.app/ cc @genbit @joestringer

test-me-please

1.8 backport is being handled in #12032


Update the import path in the examples

Update the import path in the examples fixes #74

Thanks for this, I notice that it has been resolved, also the imports with tree/master in don't work.


PlaceOnGrid is not OR'ing offset constraints

@854768750 As per my understanding of the PlaceOnGrid constraint only one of the ORed offset constraints need to satisfied.
The code below is adding a constraint for each of the offset values; meaning all of them have to be simultaneously satisfied. https://github.com/ALIGN-analoglayout/ALIGN-public/blob/bc7cc48a853bba923af02d1bd4676c98aa266331/PlaceRouteHierFlow/placer/ILP_solver.cpp#L1821-L1832
The fix would be to generate an intermediate xoffsetcombined variable as:
xoffsetcombined = Σ selecti * xoffseti
Σ selecti = 1
selecti = {0,1}
Use this xoffsetcombined in the constraint.

please see the next 7 lines.
---Original---
From: @.>
Date: Thu, Feb 3, 2022 23:02 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: [ALIGN-analoglayout/ALIGN-public] PlaceOnGrid OR'ing of offset constraints (Issue #966)
@854768750 As per my understanding of the PlaceOnGrid constraint only one of the ORed offset constraints need to satisfied.
The code below is adding a constraint for each of the offset values; meaning all of them have to be simultaneously satisfied. https://github.com/ALIGN-analoglayout/ALIGN-public/blob/bc7cc48a853bba923af02d1bd4676c98aa266331/PlaceRouteHierFlow/placer/ILP_solver.cpp#L1821-L1832
The fix would be to generate an intermediate xoffsetcombined variable as:
Use the xoffsetcombined in the
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you were assigned.Message ID: @.***>

please also see
https://github.com/ALIGN-analoglayout/ALIGN-public/blob/bc7cc48a853bba923af02d1bd4676c98aa266331/PlaceRouteHierFlow/placer/ILP_solver.cpp#L1688-1707

@854768750 the next seven lines are just implementing
Σ selecti = 1
selecti = {0,1}
The equation:
xoffsetcombined = Σ selecti * xoffseti
is not implemented.

@srini229 you are right. Thanks. Please see https://github.com/ALIGN-analoglayout/ALIGN-public/pull/965/commits/eec4ed3cdaea5060c7bd4857ddc49a5144a8497d

@srini229 , I pushed a commit to #965 which creates multiple ored_terms. Try: pytest test_placement_grid.py::test_tia_on_grid
Yet the test passes and does not demonstrate the issue.

@srini229 , I pushed a commit to #965 which creates multiple ored_terms. Try: pytest test_placement_grid.py::test_tia_on_grid
Yet the test passes and does not demonstrate the issue.

Yes I just fixed the error that @srini229 mentioned.

It looks like @854768750 fixed it before I get to it.
Regardless, relying on environment variables to turn on/off experimental features turns out to be dangerous as the variable is preserved across tests. Suggestions are welcome.

monkeypatch does the job! @srini229 , shall we close this issue now?


Put glot.io in all Page Titles

First off, love the concept and love the site!
But, I have one small request as a KeePass user: Please add the site's title to every page.
Right now, on pages such as Login, the full title is: Login. With KeePass, window titles are used to match applications/sites to entries, and with a title such as Login, there's not much I can do to associate the appropriate KeePass entry with glot.io.
I imagine this should be pretty quick and would make the site easier to browse in general (since you always have the context, even if it's minimized and you only have a window title).
Thanks!

@hjc1710 this isn't a difficult change to make, however I don't think it is the correct approach. KeePass requiring a specific title is odd. I would think you should use an extension for Firefox or Chrome to solve that problem instead of having glot-www include a url in the title.

I'm sorry, that wasn't worded super well. I'm mostly referring to taking the approach the homepage has for the title: Home - glot.io and making it consistent across the main logged out pages for the site.That would be: Register, Login, the homepage, and everything under Meta. This gives you the context of the site you're looking at on pages that have fairly common titles. The only thing that would be unaffected, would be actual snippets since their title is descriptive enough there.
For prior art, you can see all of GitHub's logged out pages (literally every page when logged out has  -GitHub, which I just noticed) or Twitter and YouTube in general. And it doesn't have to be glot.io, it can just be the site's title, I just used that because the homepage does.
I just thought it would also be a nice boost to consistent branding and is something I've always appreciated. Take it with a grain of salt!

Okay, well with those points in mind I will create a pull request for it, and we will see what others think :)


DATAGO-56103: fix PMD violations

What is the purpose of this change?

To fix PMD violations.

How was this change implemented?

Addressed PMD comments.

How was this change tested?
IT, build and run manual scans on local dev.
Is there anything the reviewers should focus on/be aware of?

@pwang1997 - can we merge this to main so we can turn on the static code analysis checks in the pipeline?

@pwang1997 - can we merge this to main so we can turn on the static code analysis checks in the pipeline?

I am still trying to resolve the CloseResouce violation on the scan import without the try-with-resource, cuz it breaks the manual import functionality. I will have the PR review again tomorrow for safety caution, then to merge it to main.


Unity hangs when client is waiting for service being debugged

Hi,
By calling the desired service with Call(request) from a Unity client, the service implemented on another C++ process executes its callback and builds the response, so that Unity can receive and process it. Under normal conditions the Unity client is always able to process the response, even when the C++ service callback takes time to complete the callback.
If the C++ service callback hits a debugger breakpoint and then gets resumed after some time (20secs), then the Unity client never receives the response and hangs, unable to recover. If the callback gets resumed very early then the Unity client is more likely to receive the response.
This behavior is not observed when calling the service from a C++ or Python client (ex. with rqt).
All ROS2 binaries are built for Windows x64 from ROS2 Humble sources. The connector binaries are also compiled in the same way. Debugging is done with cdb.
This problem is reproduced on multiple machines, with both Windows 10 and Windows 11.

Same problem here!
also for the example in this repo: ros2cs_examples/ROS2Client + ROS2Service  the Call method never returns.
Calling the service from rqt, it returns the expected result.

also for the example in this repo: ros2cs_examples/ROS2Client + ROS2Service the Call method never returns.

I can confirm this, when changing the client to use the wait set I totally forgot to spin in the example, which is why the client example does not handle incoming responses.
I will create a PR to update the examples soon, but that won't fix the strange behavior with the debugged service.
When I have time I will create a C example to test what the C++ implementation does in addition to the calls ros2cs does.


Missing opening [ in example

[Enter feedback here]
Opening [ is missing in the example given in the
https://docs.microsoft.com/en-us/microsoftteams/platform/webhooks-and-connectors/how-to/connectors-using#the-flow-for-sending-adaptive-cards-via-an-incoming-webhook-is-as-follows

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

ID: 28316a67-22fa-8a05-1ae0-fbe1c5720ef9
Version Independent ID: 8a250e46-2a30-af86-839d-9f83a8b48041
Content: Sending messages to Connectors and Webhooks - Teams
Content Source: msteams-platform/webhooks-and-connectors/how-to/connectors-using.md
Product: msteams
GitHub Login: @laujan
Microsoft Alias: lajanuar

Hi @invingagan1, Thank you for bringing this issue to our attention. Will check and raise bug for document correction.

Hi @invingagan1, Thank you for bringing this issue to our attention. Will check and raise bug for document correction.


Added EndpointFormFactor enumeration

Added the EndpointFormFactor enumeration. The constants in this enumeration are the values that can be assigned to the PKEY_AudioEndpoint_FormFactor property, as described in https://docs.microsoft.com/en-us/windows/win32/api/mmdeviceapi/ne-mmdeviceapi-endpointformfactor
This allows for the ability to determine whether your device is set to one of the following:

RemoteNetworkDevice
Speakers
LineLevel
Headphones
Microphone
Headset
Handset
UnknownDigitalPassthrough
SPDIF
HDMI
UnknownFormFactor

    // Example use case:

    public EndpointFormFactor FormFactor(MMDevice device)
    {
            if (device.Properties.Contains(PropertyKeys.PKEY_AudioEndpoint_FormFactor))
            {
                return (EndpointFormFactor)device.Properties[PropertyKeys.PKEY_AudioEndpoint_FormFactor].Value;
            }
            else
                return EndpointFormFactor.UnknownFormFactor;
    }

Will move the EndpointFormFactor enumeration to a new branch.


Run on any Kubernetes node

DO NOT MERGE until we know if this solution is needed, just showing as how to run on any node.

OK I think I got how this works. Was confused at first.  Our kubernetes worker nodes have both systems mounted in /apps/owens and /apps/pitzer? Then we mount these host locations into the container appropriately.
I think we may be OK with jupyter, though I'm not quite sure what test we could throw at it - some library that has a lot of c/cpp extensions?

Is my understanding right @treydock? That we just mounted both of those owens and pitzer filesystems on the kubeworker nodes?

That's correct, we mount Owens /usr/local to /apps/owens and mount Pitzer /apps to /apps/pitzer on all the worker nodes no matter which cluster the hardware came from.  Same goes for the paths to Intel compilers.  The only configuration difference between worker nodes is going to be the osc.edu/cluster label value, everything else is identical in terms of configuration.


Change extraManifestFlags to be additive

This is more forward compatible with adding additional cases that also want to add extra manifest flags here.

@swift-ci please smoke test

Since this is just a cleanup, I don't think we need to pull it back into 5.5


Add example of commit message to contribution guidelines

As @dirvine pointed out (https://github.com/autumnai/leaf/pull/47#issuecomment-186895494) an example of a proper commit message would be helpful in the contribution guidelines, since currently it is only explained in an abstract way.

Perhaps also include an issue template?

I haven't really investigated/used issue/PR templates yet. I am not sure if they really help much.
The main problem we have is people not using the commit message format, adding one feedback roundtrip for PRs. Maybe an PR template that gives a short example of the commit format and points to the CONTRIBUTION.md might help (but by the point of reading it you usually already have written the commit message and then have to go back and amend it :confused:).
As for a issue template that proposes a rigid feedback form I am mostly against it. I think that at least for the current stage of the project it hinders more loose feedback which we really want and appreciate. We also don't have a huge ton of issues flowing in yet, so I think this something that should be discussed once(/if) we approach a 2-300 open issues.

I really support the documentation effort in this library. I suspect if high five is up and running then it can also act as a reminder of good commit messages with an example. I think making clear what the modules or files are after the <style>/ etc. are will help a lot. Many changes will be multi file and maybe the module or target is not so obvious then. A list of the targets may help in that case?

As of now what comes after <style>/ is only roughly defined as scope. The scope mostly helps when automatically generating a CHANGELOG, as it already provides a rough structure of which changes to group together. In the end the CHANGELOG will always require a bit of manual editing and regrouping so having a more rigid approach will only marginally improve it.
I personally prefer the bit of freedom that is left with the scope (which should be documented if kept), but I can also see the upside for a more fixed form.
Another problem I see with a list of target scopes is that it would have to be kept up-to-date with the structure of the code which I doubt is feasible.
Overall I mostly lean towards keeping it the current semi-freeform, but also adding examples for that to the contribution guide (and a possible PR template).

:+1 Agree

I added two examples for a complete commit message and how you would create them on the command line when git commiting. In order to close this issue, I would wait if wrong formatted commit messages is still an issue with further PRs, if so we might look into issue templates and other mechanisms for raising awareness about the commit message format.

Looks good. Also good scope is light, it may make changelogs a bit harder to read, bit I think in the end it is the most effective way forward. I would like to see more projects do this actually. Great to set an example though :+1:


Apply helm patch to provide auditlog resources for hpa

Issue:
None
Problem
Helm chart does not allow Audit Log pod to include resources. HPA requires resources in both containers to work. Allow helm chart to set resources for Audit Log Pod.
Solution
My solution changes helm chart to apply a resources yaml in the deployment for Values.auditLog. README file was updated as well.
Testing
Engineering Testing
Manual Testing
I packaged the updated chart in my fork and deployed a new rancher with a cluster with a HPA object enabled. HPA was able to fully obtain target memory of pods now that it has both resources.
values file:
antiAffinity: required
auditLog:
  level: 1
  resources:
    limits:
      cpu: "1"
      memory: 200Mi
    requests:
      cpu: "1"
      memory: 100Mi
bootstrapPassword: admin
replicas: 2
resources:
  limits:
    cpu: "1"
    memory: 2Gi
  requests:
    cpu: "1"
    memory: 2Gi

Automated Testing
None: Change Fix was simple but can add test to helm chart if requested.
QA Testing Considerations
Regressions Considerations

Hello if anyone could approve the workflows for this PR that would be incredibly appreciated.


PAF-289: Increase Replicas count to 2 for ims-resolver

What?

IMS-resolver in production is being tested with 2 replicas.
Team working on adding features in Branch
PAF-248 requires replicas to be set to zero for branch

Why?
These changes are required for the IMS-Resolver which can be seen having Out of Memory issue resulting in restarts.
This Ensures there is always a stable set of running pods. It also Guarantee the availability of a specified number of identical Pods
How?
Adding the If condition to apply these changes only to the deployment in Production.
Testing?
We will be monitoring the pod and this should eventually resolved the issues with memory
Screenshots (optional)
Anything Else? (optional)
We are waiting for ACP to add Visibility Time out for SQS queue.
https://support.acp.homeoffice.gov.uk/servicedesk/customer/portal/1/ACP-19768
We are also looking at adding Auto Scaling
Check list

[ ] I have reviewed my own pull request for linting issues (e.g. adding new lines)
[ ] I have written tests (if relevant)
[ ] I have created a JIRA number for my branch
[ ] I have created a JIRA number for my commit
[ ] I have followed the chris beams method for my commit https://cbea.ms/git-commit/
here is an example commit
[ ] Ensure drone builds are green especially tests
[ ] I will squash the commits before merging

I would slightly amend your commit to something like this too,
I am setting the replicas to 0 as a a temporary measure to test a feature that another dev is working on https://collaboration.homeoffice.gov.uk/jira/browse/PAF-284

Thanks Sulthan for the suggestion. I have added comment to code and updated commit message and removed WIP


Cross publish extension to Open VSX

Would you mind considering cross-publishing vscode-css-variables to https://open-vsx.org/?
I do most of my development on https://www.gitpod.io/ and from within their VS Code I do not have access to the VS Code marketplace, only Open VSX.
You can find more information on how to publish your extension to Open VSX here: https://github.com/eclipse/openvsx/wiki/Publishing-Extensions.

Here you go https://open-vsx.org/extension/vunguyentuan/vscode-css-variables

So cool, thank you @vunguyentuan!


Breakpoint refactor & new functions

I updated the ProcessDebugBreakpoint object and debug_add_breakpoint function to be able to add multiple breakpoints as requested in issue:https://github.com/cubewise-code/tm1py/issues/764.
I also added some new functions for getting current breakpoint details like procedure and current line number as well as new step_in function to complement the step_over, step_out, and continue functions
I shamefully did not update any tests around the breakpoint.

Thanks for the changes @adscheevel
I will merge and make a few small enhancements. I think I would create a separate function to add multiple breakpoints debug_add_breakpoints and I will try to add some test cases.


Deploy example CoMPAS files automatic to demo.compas.energy

As a CoMPAS demo user
I would like to see example SCL files in order to see the CoMPAS capabilities
Acceptance criteria:
Check if the files are in the repository once day, if removed, place them back
Background;
This can be done with a Lambda funtion in AWS
CoMPAS-public-examples.zip

For your information the SCL has been published on RTE website.
Link to webpage Network Together | RTE (rte-france.com)
Dedicated link
https://assets.rte-france.com/prod/2023-06/2023-06-16-contrple-commande-postes-rte-scl_0.zip

https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fassets.rte-france.com%2Fprod%2F2023-06%2F2023-06-16-contrple-commande-postes-rte-scl_0.zip&data=05|01|sander.jansen%40alliander.com|df78709c7f2b4ee1225e08db715562dd|697f104bd7cb48c8ac9fbd87105bafdc|0|0|638228384691777409|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=rgPb8yJ17QOvix2FvmS4qlI3tAdJ1oyXOtNHE%2BpSvBc%3D&reserved=0


signature html escape

Not sure if it's a sublime mini-html limitation, thought I should file this anyway. Please close if it's not LSP's issue.

This should be fixed in a next release: https://github.com/tomv564/LSP/pull/608

Thanks!

There seem to be more

This is supposed to be Partial<>

Version 0.8.5 was released on package control a few days ago, this should be really fixed now :)


String Sequence Incrementor 'SSI'

SSI is a PHP based library which provides a sequential increment in an alpha numeric string order

Thanks for the suggestion.


DOC: Improved docs for polynomial arithmetic functions of jax.numpy

This PR includes better docs and example code snippets for jnp.polyadd, jnp.polysub, jnp.polymul and jnp.polydiv functions.
Part of #21461

Hi @jakevdp, Please suggest if I need to make any other changes.

Please remove the unused import & fix conflicts!
Also, please comment when you've done this because I don't get notifications if you just push the change (that's why I'm so late coming back to this)

Thanks! Removed the unused import and resolved the conflicts. Also, squashed into single commit.

@rajasekharporeddy — Jake is offline for the next little bit and I'm looking after these docstring update PRs. I'm sorry for missing this yesterday, and please feel free to ping me if I'm missing anything else!
This all looks good - thanks!

@rajasekharporeddy — I believe the that traceback lines still need to be updated. They should start with:
Traceback (most recent call last):

instead of
Traceback: most recent call last

Note the parentheses and colon location. Thanks!

Modified the traceback as suggested.

Looks good - thanks!


Horus Heresy 2.0 - Not Displaying Statlines

When loading a Horus Heresy 2.0 roster file, statlines will display on some files but not others - I have found older files (from older patches of Battlescribe) seem to work, while newer ones don't.
Github won't allow me to upload a ROSZ, is there a good way to send it to you?

You could resave the roster as the uncompressed ROS file and upload the roster that way.
What army/units are you having issues with?

I see that with newer HH2 rosters, all of the Model stats are missing.  I'll fix this.


Improve button

Let's make it stand out

Changed stories:
https://62aa67b62dd7e5679b4984ee-qhhzvtvana.chromatic.com/?path=/story/design-system-button--all-buttons
https://62aa67b62dd7e5679b4984ee-qhhzvtvana.chromatic.com/?path=/story/design-system-button--button-wrapper
https://62aa67b62dd7e5679b4984ee-qhhzvtvana.chromatic.com/?path=/story/design-system-button--anchor-wrapper
https://62aa67b62dd7e5679b4984ee-qhhzvtvana.chromatic.com/?path=/story/design-system-button--with-interactions

https://62aa67b62dd7e5679b4984ee-qhhzvtvana.chromatic.com/?path=/story/design-system-button--with-interactions


[Storage][Webjobs] Log if message decoding failed.

To address https://github.com/Azure/azure-sdk-for-net/issues/21449

Still getting this error message on 5.0.0 with no clue why it's moved to poison queue

Me too. Very unintuitive and unfriendly


Module import fix

flask.abort was used but not imported, Code has been fixed to import flask.abort

Thanks!

No thank you for serving millions of people with great content that expanded their careers like me


feat: move to jest

This is a change request
Problem
Right now @waku/* projects more or less follow the same testing stack/approach:

mocha, karma, chai for the stack;
run tests in headless Chrome;

Proposed Solutions
I think it is better for us to move to jest due to various factors:

all-in-one lib (no need to configure additionally if something is needed such as spy lib);
seamless local experience;
easy to configure browser like environment;
configurable with puppeteer;

Notes
One of the features I'd like to unlock by introducing jest is opportunity to test in different browsers. In case of Chrome there are no problems, but if Firefox or some other browser is our goal - we will have to choose automated testing approach and use Cypress or similar solution such as Browser Stack.
Before going deep into integrating testing with other browsers I'd like to take a step back and point out goals of it:

make sure library is interpretable by different browsers;
library is run the same way in different browsers;

I think that we can cover those cases in a good enough way by:

defining list of supported browsers;
using polyfills;
setting build system in a way it targets supported browsers;
running tests in a browser like (or Chrome) environment;
This list is based on the fact that we are speaking about JS library and assumption that the only thing that can work differently within various browsers is API used and not transformed properly (no polyfill e.g).

Related PRs: https://github.com/waku-org/js-rln/pull/45
cc: @fryorcraken

using polyfills

I don't think any of the current stack use polyfills.

make sure library is interpretable by different browsers;

It's possible to do with Karma

Right now @waku/* projects more or less follow the same testing stack/approach:

mocha, karma, chai for the stack;
run tests in headless Chrome;

The problem statement seems to be more a description of the current stack. Could you be more specific on the gains we would have in migrating to jest? I expect the migration to be costly and hence I just want to ensure we have a high ROI for this change.


Update bitcoin-conf.md

test 3

🐙 This pull request conflicts with the target branch and needs rebase.
Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a "draft".


Notion-enhancer is Stuck on Loading

Thank you so much for such a great invention. Enhancing indeed! :)
describe the bug
I updated the enhancer a few minutes ago and it seems to stop working, even after a restart.
Tried to reinstall, but there's no change.
expected behaviour
I should be able to access the various options.
screenshots

platform
windows 10

kind of solved the issue.
I uninstalled the enhancer using npm remove -g notion-enhancer in node.js command prompt.
then "power" uninstalled notion via IObit Uninstaller (free edition), and then reinstalled them after a restart.

duplicate of https://github.com/dragonwocky/notion-enhancer/issues/197
release will be fixed soon, best workaround at the moment is:

Open notion in your browser
Create a new page
Click on the 3 dots on the top right and click "Open in Windows app"


Depend on bitflags

Currently we are manually creating C-like bitflags, there is a crate for this. In order to support our MSRV we cannot use the latest version of bitflags (which is v1.3.2 ATM), instead use v1.2.1.
FTR I tested the new flags during development using
    #[test]
    fn verify_flags() {
        assert_eq!(VERIFY_NONE, Flags::VERIFY_NONE.bits);
        assert_eq!(VERIFY_NONE, Flags::VERIFY_NONE.bits);
        assert_eq!(VERIFY_P2SH, Flags::VERIFY_P2SH.bits);
        assert_eq!(VERIFY_DERSIG, Flags::VERIFY_DERSIG.bits);
        assert_eq!(VERIFY_NULLDUMMY, Flags::VERIFY_NULLDUMMY.bits);
        assert_eq!(VERIFY_CHECKLOCKTIMEVERIFY, Flags::VERIFY_CHECKLOCKTIMEVERIFY.bits);
        assert_eq!(VERIFY_CHECKSEQUENCEVERIFY, Flags::VERIFY_CHECKSEQUENCEVERIFY.bits);
        assert_eq!(VERIFY_WITNESS, Flags::VERIFY_WITNESS.bits);
        assert_eq!(VERIFY_ALL, Flags::VERIFY_ALL.bits);
    }

Note also, that this patch removes the unit test for invalid flags - because invalid flags are now impossible, BOOM!
Fixes: #58

Woops, forgot to add the pinning to CI, will add tomorrow - definitely works with 1.41.1

And I would say that this is even worse than hex, as far as "crates that should obviously have been in the stdlib since 2015" go.

Ha, I was surprised to see your positive response in the issue after our recent discussion, especially since the bit twiddling is super basic. Perhaps it was an old opinion and I should have clarified before doing this. Anyways, not to worry, I learned about the bitflags crate :)

Heh, well, it's only a month old ... but I didn't realize how trivial the diff would be. I think it actually increases the total complexity because now it's not obvious that the flags actually correspond to what the C code expects.

The diff looks trivial but the API improvement isn't. It creates a newtype with all relevant operator overloads.

Opened #61


armonica, galette (logical-conflict)

This pull request was generated by the 'mq' tool

/trunk merge


Netbox 2.9: fix create_vm.py

Updates to work with Netbox 2.9 changed VMInterface model and ObjectVar API

It seems that PR #41 was merged instead of this one.
I have now rebased this one on top of master.  It's very similar, but this one includes a few minor cleanups:

Removes some unnecessary imports
"Role" and "Platform" are not mandatory for VMs
if a.assigned_object: is better than if result == "Assigned":

My mistake.  I was going to revert and merge yours when I noticed, but you were kind and quick enough to adjust.
Thanks!


xVMHyperV - EnableGuestService does not work localized OS

The EnableGuestService option in xVMHyperV doesn't work in localized OS (non-EN), as the name 'Guest Service Interface' does not exist.
MSFT_xVMHyper.psm1 uses *-VMIntegrationService Cmdlets with the -Name Parameter
(e.g. Line 94
EnableGuestService = ($vmobj | Get-VMIntegrationService -Name 'Guest Service Interface').Enabled).
Unfortunately Microsoft localized the integration service names, like 'Gastdienstschnittstelle' in german, instead of 'Gues Service Interface'. Therefore checking and setting the Guest Service status fails on non-EN systems.
In my opinion, there are two ways to identify the Guest Service without its name.

TypeName: Every guest service has its own object type. Guest Service Interface is [Microsoft.HyperV.PowerShell.GuestServiceInterfaceComponent]
Id: Every guest service has an unique Id. In the object the id looks like 'Microsoft:\6C09BB55-D683-4DA0-8931-C9BF705F6480'. This could be matched with a Regex like  "Microsoft:[0-9A-Fa-f]{8}[-][0-9A-Fa-f]{4}[-][0-9A-Fa-f]{4}[-][0-9A-Fa-f]{4}[-][0-9A-Fa-f]{12}\6C09BB55-D683-4DA0-8931-C9BF705F6480"

I tried to fix the issue here: https://github.com/vrdse/xHyper-V/blob/dev/DSCResources/MSFT_xVMHyperV/MSFT_xVMHyperV.psm1
However, the Pester test now fails and I'm not shure why or how to fix. Any help is appreciated.

Reopened to track #100 This is a release blocker until merged.


Wrong filename when download file

Hello,
I have a problem with the download name of a file. I use following code to trigger the download of an excel file:
XLSX.writeFile(wb, fileNameWithExt);
But for some users the function don't uses the paramater fileNameWithExt it uses a random GUID:

How i can fix this problem? Is there something i can check? fileNameWithExt is set to the correct filename.

See https://github.com/SheetJS/sheetjs/issues/2759


⚠ Bofrost.at has degraded performance

In b2fb149, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 987 ms

Resolved: Bofrost.at performance has improved in b7a4dd8 after 10 minutes.


Preprocessed output of a new project that imports a file with an xmlns is littered with xmlns

When the entry-point project doesn't specify an xmlns (as new "clean" templates don't), but it imports a file that uses the xmlns (like, say, Microsoft.Common.targets), the resultant preprocessed output puts an xmlns= attribute on every known-to-MSBuild element in the output.
I noticed this on a new-web-template project where it's amazingly verbose, but here's a minimal repro:
S:\work\xmlns>type *proj

imported.proj

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup />
</Project>

project.proj

<Project>
  <Import Project="imported.proj" />
</Project>

S:\work\xmlns>S:\msbuild\bin\Bootstrap\15.0\Bin\MSBuild.exe /pp project.proj
<?xml version="1.0" encoding="IBM437"?>
<!--
============================================================================================================================================
S:\work\xmlns\project.proj
============================================================================================================================================
-->
<Project>
  <!--
============================================================================================================================================
  <Import Project="imported.proj">

S:\work\xmlns\imported.proj
============================================================================================================================================
-->
  <PropertyGroup xmlns="http://schemas.microsoft.com/developer/msbuild/2003" />
  <!--
============================================================================================================================================
  </Import>

S:\work\xmlns\project.proj
============================================================================================================================================
-->
</Project>

This seems to break using the preprocessed file to build.  I get this error:

C:\Users\daplaist\Documents\Visual Studio 2017\Projects\ConsoleApp30\ConsoleApp30\msbuild.xml(26,18): error MSB4066: The attribute "xmlns" in element  is unrecognized

That's unfortunate, but IMO doesn't raise the priority on this much. Building using the preprocessed file rarely works for other reasons.

Building using the preprocessed file rarely works for other reasons.

So I discovered after fixing the xmlns :-)

Took a quick look at this this morning. Sadly, the easy fixes I tried didn't work.
I tried updating Preprocess() to always add the namespace to the <Project> element, both by just adding an attribute to it, and by using
            XmlSchema schema = new XmlSchema();
            schema.Namespaces.Add("xmlns", XMakeAttributes.defaultXmlNamespace);
            outerDocument.Schemas.Add(schema);

Neither corrected the problem.

This isn't going to make it for 15.3.


Allow any scheme for http poet client and default to http

Motivation
Closes #4102
Changes
This changes HTTPPoetClient to only default to http as scheme if it isn't set in the address configuration. This allows to the node to connect to poet via https if it is set as part of the address.
Test Plan

Existing tests pass
Added test to check if client defaults to http if not set

TODO

[x] Explain motivation or link existing issue(s)
[x] Test changes and document test plan
[x] Update documentation as needed

DevOps Notes

[x] This PR does not require configuration changes (e.g., environment variables, GitHub secrets, VM resources)
[x] This PR does not affect public APIs
[x] This PR does not rely on a new version of external services (PoET, elasticsearch, etc.)
[x] This PR does not make changes to log messages (which monitoring infrastructure may rely on)

bors try

bors merge

bors merge

bors merge


datadog agent, help deployment set agent variable jmx_statsd_client_queue_size

Good day,
I would like to modify variable jmx_statsd_client_queue_size.
In standard installation its simple, but I can't find a way to do that when  datadog deployed using helm chart.
Would you be so kind to let me know if that is possible?

Hi @Ceva, thanks for using Datadog.
This issue queue is primarily intended for tracking features, bugs and work items associated with the datadog-agent open source project. For your request, please contact our support.
Thanks.


Add remove

Add And Remove to do list
In this PR , I made two functions to add and remove to dos from the list
Key Features

Remove all hard-coded to-dos
Made a function to dynamically add items
Made a function to remove Items
Store all items and and changes in local storage
Enable edit mode when double click on a todo
Remove all the items that are checked

Sorry respected reviewer,
The last thing "Remove all the items that are checked" is not actually implemented . it is design only


Flowchart image is not embedding in docs

Flowchart image is currently not embedded in the docs. Need to figure out how to embed it.

Fixed this. Was able to upload the image to a seperate part of Github that isn't included in the repository making the path non changing.

Fantastic, thanks for figuring this out @IanChiu-333 !


npm install not working

After cloning the repo, I tried installing the packages using npm i but it keeps on giving me this error
`
npm WARN deprecated<EMAIL_ADDRESS>The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated<EMAIL_ADDRESS>The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated<EMAIL_ADDRESS>The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated<EMAIL_ADDRESS>Please downgrade to v7.1.5
if you need IE/ActiveXObject support OR upgrade to v8.0.0 as we no longer support IE and published an incorrect patch version (see https://github.com/visionmedia/superagent/issues/1731)

<EMAIL_ADDRESS>install
node install.js && npm run build:cli:full && npm run prepare

Installing dependencies for HASHCONNECT...npm ERR! code E404
npm ERR! 404 Not Found - GET https://us-npm.pkg.dev/hedera-registry/stablecoin-npm/@hashgraph%2Fsdk - Requested entity was not found.
npm ERR! 404
npm ERR! 404  '<EMAIL_ADDRESS>is not in this registry.
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR!      C:\Users\Pato SF\AppData\Local\npm-cache_logs\2023-12-06T18_17_22_381Z-debug-0.log
node:child_process:960
throw err;
^
Error: Command failed: cd C:\Users\Pato SF\Desktop\stablecoin-studio-1/hashconnect/lib && npm install
npm ERR! code E404
npm ERR! 404 Not Found - GET https://us-npm.pkg.dev/hedera-registry/stablecoin-npm/@hashgraph%2Fsdk - Requested entity was not found.
npm ERR! 404
npm ERR! 404  '<EMAIL_ADDRESS>is not in this registry.
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR!      C:\Users\Pato SF\AppData\Local\npm-cache_logs\2023-12-06T18_17_22_381Z-debug-0.log
at checkExecSyncError (node:child_process:885:11)
at execSync (node:child_process:957:15)
at npmInstall (C:\Users\Pato SF\Desktop\stablecoin-studio-1\install.js:18:3)
at Object.<anonymous> (C:\Users\Pato SF\Desktop\stablecoin-studio-1\install.js:38:3)
at Module._compile (node:internal/modules/cjs/loader:1254:14)    at Module._extensions..js (node:internal/modules/cjs/loader:1308:10)
at Module.load (node:internal/modules/cjs/loader:1117:32)
at Module._load (node:internal/modules/cjs/loader:958:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) {

status: 1,
signal: null,
output: [
null,
Buffer(0) [Uint8Array] [],
Buffer(498) [Uint8Array] [
110, 112, 109,  32,  69,  82,  82,  33,  32,  99, 111, 100,      101,  32,  69,  52,  48,  52,  10, 110, 112, 109,  32,  69,       82,  82,  33,  32,  52,  48,  52,  32,  78, 111, 116,  32,       70, 111, 117, 110, 100,  32,  45,  32,  71,  69,  84,  32,      104, 116, 116, 112, 115,  58,  47,  47, 117, 115,  45, 110,      112, 109,  46, 112, 107, 103,  46, 100, 101, 118,  47, 104,      101, 100, 101, 114,  97,  45, 114, 101, 103, 105, 115, 116,      114, 121,  47, 115, 116,  97,  98, 108, 101,  99, 111, 105,      110,  45, 110, 112,
... 398 more items
]
],
pid: 17064,
stdout: Buffer(0) [Uint8Array] [],
stderr: Buffer(498) [Uint8Array] [
110, 112, 109,  32,  69,  82,  82,  33,  32,  99, 111, 100,
101,  32,  69,  52,  48,  52,  10, 110, 112, 109,  32,  69,
82,  82,  33,  32,  52,  48,  52,  32,  78, 111, 116,  32,
70, 111, 117, 110, 100,  32,  45,  32,  71,  69,  84,  32,
104, 116, 116, 112, 115,  58,  47,  47, 117, 115,  45, 110,
112, 109,  46, 112, 107, 103,  46, 100, 101, 118,  47, 104,
101, 100, 101, 114,  97,  45, 114, 101, 103, 105, 115, 116,
114, 121,  47, 115, 116,  97,  98, 108, 101,  99, 111, 105,
110,  45, 110, 112,
... 398 more items
]
}
Node.js v18.15.0
npm notice
npm notice New major version of npm available! 9.5.0 -> 10.2.4
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.2.4
npm notice Run npm install -g<EMAIL_ADDRESS>to update!
npm notice
npm ERR! code 1
npm ERR! path C:\Users\Pato SF\Desktop\stablecoin-studio-1
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node install.js && npm run build:cli:full && npm run prepare
npm ERR!      C:\Users\Pato SF\AppData\Local\npm-cache_logs\2023-12-06T18_13_13_104Z-debug-0.log
`

Sorry for super-late response 🙏🏽.
Seams an issue with the NPM registry
npm ERR! 404 Not Found - GET https://us-npm.pkg.dev/hedera-registry/stablecoin-npm/@hashgraph%2fsdk - Requested entity was not found.
the hashgraph/sdk is located here https://www.npmjs.com/package/@hashgraph/sdk and you shouldn't have any issues getting it, if so, please open a new issue (or reopen this one) and we will address it. Thanks!


how can change the selected dot scale factor

Hello,
can i change the selected dot scale factor for scale drawer? currently i can see this as 8 but not know how can i override this.
var scaleFactor: CGFloat = 8

Will work on that


An invalid schema will cause the validation proxy to always pass

Context

Provide an OpenAPI file which contains error in the schema.
Run prism as validation proxy, it is unable to report the error in the schema, and request/response validation always pass.
Current Behavior

No error reported. No matter the request/response violates the schema or not. All errors are silently hidden.
Expected Behavior

It should report that the OpenAPI schema is invalid.
Steps to Reproduce

Save the below OpenAPI which contains typo into file openapi.yaml
Start a local server to serve the API (see code below). The server response violates the schema.
Run Prism: prism proxy openapi.yaml http://localhost:8023
Use any HTTP client to send a request: GET http://<IP_ADDRESS>:4010/car/1
No error reported. Actually there are two mistakes:

OpenAPI schema invalid
Response message violates schema

openapi: 3.0.0
info:
  version: 1.0.0
  title: Test API
servers:
  - url: /test/v1
paths:
  /car/{id}:
    get:
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Car'
components:
  schemas:
    Car:
      type: obj     # <-- typo, should be "object"
      required:
        - wheels
      properties:
        wheels:
          type: number

import express from 'express';

const server = express();
server.use(express.json({ type: ['application/json', 'application/*+json'] }));
server.use(express.text());
server.use(express.urlencoded({ extended: false }));

server.get('/car/:id', (_req, res) => {
  res.setHeader('content-type', 'application/json');
  res.status(200).send({
    // missing required property 'wheels'
    "color": "black"
  });
});

server.listen(8023);

Environment

Version used: 5.5.2
Environment name and version (e.g. Chrome 39, node.js 5.4): docker

Analysis
https://github.com/stoplightio/prism/blob/a1360b32160f1b27c1ff08894e7ce992cccf8d43/packages/http/src/validator/validators/utils.ts#L140
In the validation function Avj throw an error about invalid schema. But tryCatch just ignore it and not being converted to an error.

@aleung Thank you for reporting this! We agree that not swallowing this error for AJV would be ideal.
Here's the solution we propose:

instead of catching the error, log out a warning message about the invalid schema but proceed as it does today

We would gladly accept a PR that implements the proposed solution above.
In the meantime, you could use Spectral to validate your spec before starting up Prism with it. That would tell you if your entire spec is valid before using it.


MOVQ 0, AX optimisation

What version of Go are you using (go version)?
go version go1.8 darwin/amd64
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/xigh/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/1p/fl56f8416hzc5_lkcf65tlp00000gn/T/go-build894248986=/tmp/go-build -gno-record-gcc-switches -fno-common"
CXX="clang++"
CGO_ENABLED="1"
PKG_CONFIG="pkg-config"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
What did you do?
I was trying to implement DCAS (or CAS2) atomic instruction (see https://gist.github.com/xigh/062fcca51b090ebb675c5486349a75f9) in x64 assembly. In order to remove the banches, I tried to use CMOVcc instruction. I thus wrote this:
TEXT ·CompareAndSwapDPointer(SB),4,$0
MOVQ		addr+0(FP), SI
MOVQ		old+8(FP), AX
MOVQ		old+16(FP), DX
MOVQ		new+24(FP), BX
MOVQ		new+32(FP), CX
// CMPXCHG16B 	(SI)
BYTE $0x48; BYTE $0x0F; BYTE $0xC7; BYTE $0x0E
MOVQ		$0, AX
MOVQ		$1, DX
// CMOVZ	DX, AX
BYTE $0x48; BYTE $0x0F; BYTE $0x44; BYTE $0xC2
MOVQ		AX, ret+40(FP)
RET
What did you expect to see?
MOVQ implemented as MOVQ, not XORQ AX, AX
What did you see instead?
MOVQ has been optimised with XORQ. I think it's fine and I'm not sure it is a bug. But in this case, the XORQ updates the RFLAGS register and this the code above does not work. I can either use branches or use another register and move the MOVQ instruction before CMPXCHG16B.
XORQ is obviously shorter and maybe more efficient. That's why I'm not sure we can say it is a bug. But Dave Cheney suggested me to report this here.

This is #20986.

And see Josh comment https://github.com/golang/go/issues/20986#issuecomment-314639291 for some background. Closing this as a dup so we can keep all info in one place. Hope #20986 will be looked at during the go1.10 cycle.


Consider using noble-curves for keygen

curves recently got out. This could be an opportunity to:

Make API synchronous
Improve compatibility with environments where EC is not available in native webcrypto
Add support for additional curves, such as secp256k1, or any other curve, including custom ones.

As a side note, you're using hash-to-curve which is also implemented in curves.
We will probably publish an audit of the library some time soon.

@paulmillr thanks for reaching, nice work with noble packages. We will consider the package. I will left open this ticket, if some is interested in helps us with the migration.


Feature Request: Better Integration with Cubecobra for "Custom Set List with Rarities"

Last night I tried to draft a custom set (with rarities) that a friend of mine built on cubecobra. Here is the link to it for this example: https://cubecobra.com/cube/list/3bxpd
The list is broken out by rarity in categories there (Common/Uncommon/Rare/Mythic). However, when I tried to set up the draft on mtgadraft (Settings > Custom Card List > Import from CubeCobra), the list loaded fine in the Settings area, but when I went to start the draft, I got an error which said:

Error Generating Boosters. Not enough cards (265/360) in custom list.

I think mtgadraft somehow(?) assumed this was a typical singleton cube even though the "Custom Card List" box was ticked. Anyway, the rarity categories did not carry over from CubeCobra. We had to do a massive workaround to get it to work.
Any way we can get mtgadraft to automatically parse rarity categories from CubeCobra so text file manipulation or other workarounds are not necessary to draft these type of sets? Thanks!

The import from CubeCobra feature is based on their .txt export (basically this file for your cube for example) and it does indeed treat it as a singleton cube (as this was the primary use of the feature).
I don't know which metadata you can attach to a cube on CubeCobra exactly, but as far as I know there's no way to export a cube with this information anyway. This includes "rarity categories from CubeCobra", so I don't think what you're asking is possible currently.

Closing this issue as there's not much I can do about CubeCobra integration right now.
We can discuss you last point in #363.


Vue 3 Support

Is Vue 3 support in the roadmap?

Hey @aznj, this is something that I would also like to do at some point.
Let's leave this open so that we can see if there's enough interest.

no scss in the example2.vue
how to config the style file??

I'd be quite interested as I'm using Vue 3 with Composition API.

Vue 3 support is now on the way

Support for Vue 3 is now ready and available through the v2 https://github.com/kouts/vue-dataset/tree/next branch.
The API is exactly the same as v1 with the only difference being that vue-dataset now provides reactive data using refs
You can install it with npm install vue-dataset@next
The docs site for v2 is https://next--vue-dataset-demo.netlify.app/
Have fun using vue-dataset with Vue 3 🚀


Train 209

Train 209

#1850 test_networking.test_vip test is flaky
#1868 Make skip checks a flag
#1855 Bumped Mesos to 1.4.0-rc1
#1865 Bumped Mesos to include health check logging improvements

@mesosphere-mergebot bump-ee

@mesosphere-mergebot bump-ee


Typescript typings file needed to use widgets in typescript projects

I was trying to use the BeakerXDataGrid in a JupyterLab MimeRenderer to display tabular results, but I'm not able to import the widget because the BeakerX npm package does not include the required type information. It would be great if the BeakerX module contained the required type information or a separate @types/beakerx-jupyterlab npm module was created.

@jdundondev This should be in 0.20.0 released today: https://www.npmjs.com/package/beakerx-jupyterlab
please let me know how it works for you, and if you do build a MimeRenderer with it.