Missing entry from ClassMap

Hello,
I noticed that from a previous generation of wsdl files to the latest version, I seem to be missing one entry from the classmap as well as no associated file for a class.  Because of the issue #156 I'd like to know where I would look at the WSDL file itself and the code that would decide what all needs to be created for the classes in this project.
Strangely, when opening the WSDL in SoapUI, it generates a proper example, but the WSDL to PHP generation code no longer does.  The associated classes field use to generate this (and have an associated text.php file):
 /**
     * The Text
     * Meta informations extracted from the WSDL
     * - maxOccurs: 50
     * - minOccurs: 0
     * @var \Account\StructType\Text[]
     */
    public $Text;
    /**

However, running it now generates it as a plain string using the wsdl to php generation (which is incorrect and will error out when trying to make a soap call):
    /**
     * The Text
     * Meta informations extracted from the WSDL
     * - maxOccurs: 50
     * - minOccurs: 0
     * - maxLength: 40
     * @var string[]
     */
    public $Text;
    /**

SOAP UI generates an example for this method with the 'Text' property looking like this, which matched how the old generation of the code use to work:
               <!--0 to 50 repetitions:-->
               <Text>
                  <!--Optional:-->
                  <EntryId>?</EntryId>
                  <!--Optional:-->
                  <Text>?</Text>
               </Text>
               <!--Optional:-->

If you can please direct me at what I should be looking at on the WSDL and where in the code that would exist, I would greatly appreciate it.
Thanks,
Kevin

Maybe you should make some tests modifying the code part from https://github.com/WsdlToPhp/PackageGenerator/commit/2853cda114d82993f97a2af9f5e6f1e41797f3e7?

Is there something i could navigate to the WSDL endpoint and see that would be of some help in identifying why it's not generating correctly?

I found this section in the WSDL.  I'm wondering if the fact that both the name attribute at the top and inner property being both named "Text" is throwing it off.  I'm thinking this is what is going on.  I'm not quite sure how it worked before though.  Did something in the project change to no longer allow this?
<xsd:element maxOccurs="50" minOccurs="0" name="Text">
  <xsd:complexType>
    <xsd:sequence>
      <xsd:element maxOccurs="1" minOccurs="0" name="EntryId">
        <xsd:simpleType>
          <xsd:restriction base="xsd:short" />
        </xsd:simpleType>
      </xsd:element>
      <xsd:element maxOccurs="1" minOccurs="0" name="Text">
        <xsd:simpleType>
          <xsd:restriction base="xsd:string">
           <xsd:maxLength value="40" />
          </xsd:restriction>
        </xsd:simpleType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
</xsd:element>

Any thoughts?

This is possibly the case but the second Text element is an attribute so it should not be considered as a Struct so it should not override the first Text type hint.
In addition, you should try each version from which it was working in order to target the version from which it started to work improperly, it could help targeting the modification that introduces this issue.
I won't be able to work on it before November 15th I'm sorry, so if you have time to dig in it, good luck.

I've gone back until the very first version I ever used and still cannot get it to generate that class properly.  So I suppose that may mean either something has changed in the soap extension or the vendor made some small change that triggered the wsdltophp tool do it properly in the past and no longer now.  I'm not sure which.
I'd like to help diagnose this further, however I'm not sure how to get started.  I've only used the .phar files in the past and run this command line.  I've downloaded the 2.x project, but I don't see a way to trigger the process to run anywhere.
Any suggestion on how I can get started.  Do I need to do some process that wraps the source code back into a PHAR file, or can I make a change on the fly and run a test just directly with the source code?

I did find this link:  https://github.com/WsdlToPhp/PackageGenerator/blob/2.x/CONTRIBUTING.md
I've never used composer before, but trying to get it setup I was able to download the dependencies, however when I try to run 'composer build' it seems to error out:
c:\Git\PackageGenerator-2.x>composer build
> box build --verbose
'box' is not recognized as an internal or external command,
operable program or batch file.
Script box build --verbose handling the build event returned with error code 1

I must be missing a step?

A class is generated as soon as a Struct is detected from the __getTypes call.
So Struct classes come from the SoapClient class.

Either its my lack of experience with Symfony or namespaces, but I was having trouble following how the process was working.
The one thing I do know is that the struct is somehow being overwritten by the property directly within it with the same name.

Is this something you might have a chance to get too soon?

Can you provide me the WSDL that I'll keep privately needless to say to<EMAIL_ADDRESS>Thx

Sorry for the delay.  I've emailed you a stripped out version that I have tested against the script.  You may need to change the schema location pathing in the .wsdl file though, as I'm on a windows box.

Will you let me know that you received it?

I'm currently working on a customer website so I don't have much time nowadays. I indeed received your file. I'll get back to you as soon as possible, sorry...

The issue here is that the call to __getTypes from the native PHP SoapClient class returns this:
[34] => short Text
[41] => string Text
[48] => struct Text {
    EntryId EntryId;
    Text Text;
}
[50] => string Text

So there is 4 identically-named elements but with 3 different types :fearful:.
In addition, the TagRestriction parser finds this:
<xsd:restriction base="xsd:string">
    <xsd:maxLength value="40"/>
</xsd:restriction>

which conducts to declare the inheritance of the first Text struct (actually not a Struct : "struct": false) correctly defined as:
{
    "attributes": [
        {
            "containsElements": false,
            "removableFromRequest": false,
            "type": "EntryId",
            "inheritance": "",
            "abstract": false,
            "meta": [],
            "name": "EntryId",
            "__CLASS__": "WsdlToPhp\\PackageGenerator\\Model\\StructAttribute"
        },
        {
            "containsElements": false,
            "removableFromRequest": false,
            "type": "Text",
            "inheritance": "",
            "abstract": false,
            "meta": [],
            "name": "Text",
            "__CLASS__": "WsdlToPhp\\PackageGenerator\\Model\\StructAttribute"
        }
    ],
    "restriction": false,
    "struct": false,
    "types": [],
    "values": [],
    "inheritance": "",
    "abstract": false,
    "meta": [],
    "name": "Text",
    "__CLASS__": "WsdlToPhp\\PackageGenerator\\Model\\Struct"
}

to this declaration:
{
    "attributes": [
        {
            "containsElements": false,
            "removableFromRequest": false,
            "type": "EntryId",
            "inheritance": "",
            "abstract": false,
            "meta": {
                "maxOccurs": "1",
                "minOccurs": "0"
            },
            "name": "EntryId",
            "__CLASS__": "WsdlToPhp\\PackageGenerator\\Model\\StructAttribute"
        },
        {
            "containsElements": false,
            "removableFromRequest": false,
            "type": "Text",
            "inheritance": "",
            "abstract": false,
            "meta": {
                "maxOccurs": "1",
                "minOccurs": "0"
            },
            "name": "Text",
            "__CLASS__": "WsdlToPhp\\PackageGenerator\\Model\\StructAttribute"
        }
    ],
    "restriction": false,
    "struct": false,
    "types": [],
    "values": [],
    "inheritance": "string",
    "abstract": false,
    "meta": {
        "maxLength": "40"
    },
    "name": "Text",
    "__CLASS__": "WsdlToPhp\\PackageGenerator\\Model\\Struct"
}

I don't want to be rude but using 4 times the same with 3 different types does not seem very clean, just a personal opinion. As the structs from the __getTypes are parsed in the order returned by this method, this is the first that is taken into account in order to define the type of the named element. As the Text element is firstly defined as a short and not a struct, it's parsed as not a struct.
This situation is tricky as the native SoapClient detects things and parsing the WSDL leads to something else. As the native PHP SoapClient is then used to send the request, in some case, overriding the data passed to the called methods won't help as the native SoapClient won't accept it or will transform it a malformed XML request.
Any chance that this Web Service would be refactored?

Unfortunately, it isn't likely to be changed, and the business producing the Web Service is large and this web service is extensive.  I can ask them, but even if they would agree to do it it wouldn't probably happen for quite some time.  What's strange is that this use to work with the PackageGenerator in the past.
But, I cannot seem to get an older version to work any longer.  So ... I'm wondering if they changed something that effected it.
So, you are saying you are seeing 4 versions of the type "Text", however I'm not sure I follow that.  There is the parent Text and then there is the children "Text and EntityId". ... Where are you coming up with the other two?
Regardless, are you saying you don't think there is a solution to fix it within the project?  Or is it just a complex fix?

Unfortunately, it isn't likely to be changed, and the business producing the Web Service is large and this web service is extensive. I can ask them, but even if they would agree to do it it wouldn't probably happen for quite some time. What's strange is that this use to work with the PackageGenerator in the past.

It has been improved since the original project from https://github.com/mikaelcom/WsdlToPhp. And even from this project has been mainly improved. If you're sure the Web Service provider did not change the WSDL, using the older versions incrementally from version https://github.com/WsdlToPhp/PackageGenerator/releases/tag/0.0.1 should help targeting the introduction of this difference, but it's not easy I admit :wink:.

So, you are saying you are seeing 4 versions of the type "Text", however I'm not sure I follow that. There is the parent Text and then there is the children "Text and EntityId". ... Where are you coming up with the other two?

Among the WSDL and XSD files, there is actually 5 declaration of the Text elements (2 are repeated) :
<xsd:element maxOccurs="50" minOccurs="0" name="Text">
    <xsd:simpleType>
        <xsd:restriction base="xsd:short"></xsd:restriction>
    </xsd:simpleType>
</xsd:element>

<xsd:element maxOccurs="50" minOccurs="0" name="Text">
	<xsd:complexType>
		<xsd:sequence>
			<xsd:element maxOccurs="1" minOccurs="0" name="EntryId">
				<xsd:simpleType>
					<xsd:restriction base="xsd:short">
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
			<xsd:element maxOccurs="1" minOccurs="0" name="Text">
				<xsd:simpleType>
					<xsd:restriction base="xsd:string">
			<xsd:maxLength value="40"/>
					</xsd:restriction>
				</xsd:simpleType>
			</xsd:element>
		</xsd:sequence>
	</xsd:complexType>
</xsd:element>

<xsd:element maxOccurs="1" minOccurs="0" name="Text">
	<xsd:simpleType>
		<xsd:restriction base="xsd:string">
			<xsd:maxLength value="40"/>
		</xsd:restriction>
	</xsd:simpleType>
</xsd:element>

Regardless, are you saying you don't think there is a solution to fix it within the project? Or is it just a complex fix?

It's certainly a complex one as it would need to reconsider the SoapClient parsing and the XML files parsing, but certainly for a better result. It would need to have better defined Structs starting from the Structs parser parsing. Then the WSDL parses will need to look the Structs declaration more deeply in order to target the right one.

What are the chances that you'll be able to implement the necessary changes to fix the issue?

It's either I really find the right solution or I realize trying to fix it that it can't be fixed. Additionnally, I'm really busy on a customer project so it's not my priority right now. I could ask your deadline but I dare not to ask as I presume the answer :wink:.
What could help is that you :

use the old code version in order to create what is missing
fix the types of the attributes if necessary
make it work by manually adding what is missing

When that's done, I could rely on it in order to be sure of what is expected :smiley:.

use the old code version in order to create what is missing
fix the types of the attributes if necessary
make it work by manually adding what is missing

So, to be sure, when you say "fix the types of attributes" or "make it work by manually adding what is missing" .. what do you mean?  Is there something I can manually tweak in the Web Service WSDL to fix the issue?  Or do you just mean try to get the vendor to change their web service so nothing has the same named struct?
Or Did you mean something else entirely?

I mean fix the generated package in order so it reflects what should be generated in order to make it fully working ;)

So, I think I understand what you are saying is happening above, but where each of the named 'Text' pieces are happening, it seems like the first instance is what is becoming that specific data type for all other instances.  Instead of  just living within the context of the overarching 'complexType' section.
Is that correct?
So, while I agree that is seems like a bad practice, specifically for a Text struct to have a property within it to also be named 'Text'.  I'm not quite sure why the Text short inside an adjacent complexType is having a negative impact on subsequent adjacent complexType's with all together different set of properties.
Shouldn't they be treated differently since one is an actual Struct and one is just a property and both are in different complextypes?  Or am I misunderstanding what you are saying?
(fyi: I contacted the vendor by the way, and they let me know this hasn't been a problem for other customers and asked me if there was an error from the PHP parser, which it sounds like isn't actually the issue, if I understand you correctly. )

So, I think I understand what you are saying is happening above, but where each of the named 'Text' pieces are happening, it seems like the first instance is what is becoming that specific data type for all other instances. Instead of just living within the context of the overarching 'complexType' section.
Is that correct?

YES

So, while I agree that is seems like a bad practice, specifically for a Text struct to have a property within it to also be named 'Text'. I'm not quite sure why the Text short inside an adjacent complexType is having a negative impact on subsequent adjacent complexType's with all together different set of properties.
Shouldn't they be treated differently since one is an actual Struct and one is just a property and both are in different complextypes? Or am I misunderstanding what you are saying?

YES they should and it's the trickiest part

Ah.  Any idea when you might have an opportunity to work on it?  You mentioned that you were busy with another project at the moment, so I just wanted to ask and see what your time frame might be.
Thanks,
Kevin

To be honest, it would be at the end of this year. It seems to be something that is missing from this generator that was not detected before as the generated packages were functionnal for most of them. But it would be a great improvement!

Alright.  I'll try to be patient.  I need to learn symfony so I can help.
Let me know when you have something more on this.  Thanks @mikaelcom!

You don't really need Symfony knowledge, at least Composer, Git and that's it ;)

Well, I use git and php every day.  Just haven't gotten into any frameworks, so I haven't used composer.  I suppose I need to mainly get familiar with composer then.

It seems that i have a related issue:
	<xs:element name="City">
		<xs:annotation>
			<xs:documentation>City identifier</xs:documentation>
		</xs:annotation>
		<xs:complexType>
			<xs:complexContent>
				<xs:extension base="Location">
					<xs:attribute name="Code" type="typeIATACode" use="required"/>
				</xs:extension>
			</xs:complexContent>
		</xs:complexType>
	</xs:element>
	<xs:complexType name="typeStructuredAddress">
		<xs:annotation>
			<xs:documentation>A fully structured address</xs:documentation>
		</xs:annotation>
		<xs:sequence>
			<xs:element name="City" minOccurs="0">
				<xs:annotation>
					<xs:documentation>The city name for the requested address, e.g. Atlanta.</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:minLength value="2"/>
						<xs:maxLength value="50"/>
					</xs:restriction>
				</xs:simpleType>
			</xs:element>
	</xs:complexType>

This declaration leads to a wrong TypeStructuredAddress::__constructor(), which have the first City as a type hinted parameter, which is object, insted of the second City, which is string.
class TypeStructuredAddress extends AbstractStructBase
{
    public function __construct(\air45\StructType\City $city = null)
}


Set width on init

For different resolution I want to set different width of picker.
How to set width of picker on init?

Do it with inline picker and css options.


shared workflows

Current dependencies on/for this PR:

main

PR #10   👈

This comment was auto-generated by Graphite.


[BUG]  timeouts during volume attach/reattach operations

Describe the bug
We've been using RWX volumes in production for few months now. Lately, we are running into the issue where the volumes couldn't be attached or reattached to the statefulset workloads cause of timeouts & mounting failures which is kinda leading to cascading failures. And unavailable to perform maintenance on those nodes.
0s          Warning   FailedAttachVolume      pod/redis-0                            AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-35-89.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/mongodb-0                          AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-55-126.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/redis-0                            AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-35-89.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/mongodb-0                          AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-55-126.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/redis-0                            AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-35-89.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/mongodb-0                          AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-55-126.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/redis-0                            AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-35-89.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/mongodb-0                          AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-55-126.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/redis-0                            AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-35-89.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/mongodb-0                          AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-55-126.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/redis-0                            AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-35-89.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/mongodb-0                          AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-55-126.eu-west-1.compute.internal
1s          Warning   FailedMount             pod/mongodb-0                          Unable to attach or mount volumes: unmounted volumes=[pvc], unattached volumes=[pvc kube-api-access-k6tvx]: timed out waiting for the condition
0s          Warning   FailedMount             pod/redis-0                            Unable to attach or mount volumes: unmounted volumes=[pvc], unattached volumes=[redis-conf kube-api-access-jmdsr pvc]: timed out waiting for the condition
0s          Warning   FailedAttachVolume      pod/redis-0                            AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-35-89.eu-west-1.compute.internal
0s          Warning   FailedAttachVolume      pod/mongodb-0                          AttachVolume.Attach failed for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6" : rpc error: code = DeadlineExceeded desc = volume pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6 failed to attach to node ip-10-8-55-126.eu-west-1.compute.internal
0s          Normal    SuccessfulAttachVolume   pod/tyk-redis-0                            AttachVolume.Attach succeeded for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6"
0s          Normal    SuccessfulAttachVolume   pod/tyk-mongodb-0                          AttachVolume.Attach succeeded for volume "pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6"

To Reproduce
Run RWX volumes on a large cluster consisting of 50+ nodes and 500+ volumes
Expected behavior
Volume attach/reattach should happen without any timeouts. I'm assuming the reattachment process is handled by k8s instead of longhorn
Log or Support bundle
Sent via email as it may contain some sensitive data that pertains to our environment
Environment

Longhorn version: v1.2.5
Installation method (e.g. Rancher Catalog App/Helm/Kubectl): helm
Kubernetes distro (e.g. RKE/K3s/EKS/OpenShift) and version: EKS

Number of management node in the cluster: 5
Number of worker node in the cluster: 50+

Node config

OS type and version: AL2
CPU per node: 4/8
Memory per node: 16/18
Disk type(e.g. SSD/NVMe): NVMe
Network bandwidth between the nodes:

Underlying Infrastructure (e.g. on AWS/GCE, EKS/GKE, VMWare/KVM, Baremetal): EKS
Number of Longhorn volumes in the cluster: 500+

Additional context
May not be related to this directly but we have been running into #4789 too on the cluster. After kinda resolving the #4789  some of the volume provisioning is successful now. Generally, it takes 2mins or less for volume to be provisioned and attached to the statefulset workload, but currently its taking 4+ minutes to do the same operations without too many timeouts and mount failures.

What is your reason for running redis/mongodb on top of a RWX volume?
Have you considered using regular RWO volumes for these workloads?

@abhishiekgowtham
I cannot seem to find the log error message in the support bundle. In the support bundle, looks like the volume is perfectly healthy:
  status:
    ownerid: ip-10-5-105-228.eu-west-1.compute.internal
    state: attached
    robustness: healthy
    lastdegradedat: ""
    shareendpoint: nfs://<IP_ADDRESS>/pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6
    sharestate: running

Do you mean that the issue is it take long time for the volume to attach (more than 4 mins) ?

What is your reason for running redis/mongodb on top of a RWX volume?
Have you considered using regular RWO volumes for these workloads?

We have a niche use case for this cluster where we need to use RWX volumes because of sheer amount of data/volumes that we have to manage and some cost savings. Using RWO isn't an option for us at this point. We had given it a try but didn't fully satisfy our requirements.

@abhishiekgowtham
I cannot seem to find the log error message in the support bundle. In the support bundle, looks like the volume is perfectly healthy:
  status:
    ownerid: ip-10-5-105-228.eu-west-1.compute.internal
    state: attached
    robustness: healthy
    lastdegradedat: ""
    shareendpoint: nfs://<IP_ADDRESS>/pvc-ddd6c6cb-cca0-49e9-b654-a51abd03aac6
    sharestate: running

Do you mean that the issue is it take long time for the volume to attach (more than 4 mins) ?

@PhanLe1010 kinda yes, the issue is that volumes are stuck when attaching (could be a newly provisioned one or existing one that was reattaching) and take longer time for the mounting to be done and allow statefulset to be in running state. To be specific, we have a condition where we don't allow attach/reattch operations to take more than 5 minutes.

This error timed out waiting for the condition usually happen when the share manager pod is not ready yet. Maybe it should go away when https://github.com/longhorn/longhorn/issues/4789 is fixed? Can you give it a try with the fix image of https://github.com/longhorn/longhorn/issues/4789?

I just checked the support bundle.
It seems that the long mount issue happened at 2022-10-29T03:51:09Z to 2022-10-29T06:32:56Z. The error logs in the longhorn-csi-plugin (which is responsible for attaching and mounting) are mainly like:
2022-10-29T03:55:58.145942165Z time="2022-10-29T03:55:58Z" level=error msg="NodeGetVolumeStats: req: {\"volume_id\":\"pvc-0141dd6a-c464-4109-98e4-1d7db872730e\",\"volume_path\":\"/var/lib/kubelet/pods/64b099ca-0bfd-4316-a1d2-292192b9c205/volumes/kubernetes.io~csi/pvc-0141dd6a-c464-4109-98e4-1d7db872730e/mount\"} err: rpc error: code = Internal desc = failed to check volume mode for volume path /var/lib/kubelet/pods/64b099ca-0bfd-4316-a1d2-292192b9c205/volumes/kubernetes.io~csi/pvc-0141dd6a-c464-4109-98e4-1d7db872730e/mount: input/output error"
2022-10-29T03:57:33.335949526Z time="2022-10-29T03:57:33Z" level=error msg="NodeGetVolumeStats: req: {\"volume_id\":\"pvc-bd11440b-11c1-4bea-9d01-fcd47d4b2719\",\"volume_path\":\"/var/lib/kubelet/pods/71fef63b-4908-41f9-8fc4-47359a486ec5/volumes/kubernetes.io~csi/pvc-bd11440b-11c1-4bea-9d01-fcd47d4b2719/mount\"} err: rpc error: code = Internal desc = failed to check volume mode for volume path /var/lib/kubelet/pods/71fef63b-4908-41f9-8fc4-47359a486ec5/volumes/kubernetes.io~csi/pvc-bd11440b-11c1-4bea-9d01-fcd47d4b2719/mount: input/output error"
......

Notice that most of the longhorn-manager pods and instance-manager pods were restarted after 2022-10-31. I don't know what happened at that moment... I guess there was something wrong then it lead to Longhorn components restart...

This error timed out waiting for the condition usually happen when the share manager pod is not ready yet. Maybe it should go away when #4789 is fixed? Can you give it a try with the fix image of #4789?

after fixing #4789 this issue kinda went away (a bit faster than it was before) for newly provisioned volumes. Still seeing this behaviour on existing volumes that are on the cluster.

I just checked the support bundle. It seems that the long mount issue happened at 2022-10-29T03:51:09Z to 2022-10-29T06:32:56Z. The error logs in the longhorn-csi-plugin (which is responsible for attaching and mounting) are mainly like:
2022-10-29T03:55:58.145942165Z time="2022-10-29T03:55:58Z" level=error msg="NodeGetVolumeStats: req: {\"volume_id\":\"pvc-0141dd6a-c464-4109-98e4-1d7db872730e\",\"volume_path\":\"/var/lib/kubelet/pods/64b099ca-0bfd-4316-a1d2-292192b9c205/volumes/kubernetes.io~csi/pvc-0141dd6a-c464-4109-98e4-1d7db872730e/mount\"} err: rpc error: code = Internal desc = failed to check volume mode for volume path /var/lib/kubelet/pods/64b099ca-0bfd-4316-a1d2-292192b9c205/volumes/kubernetes.io~csi/pvc-0141dd6a-c464-4109-98e4-1d7db872730e/mount: input/output error"
2022-10-29T03:57:33.335949526Z time="2022-10-29T03:57:33Z" level=error msg="NodeGetVolumeStats: req: {\"volume_id\":\"pvc-bd11440b-11c1-4bea-9d01-fcd47d4b2719\",\"volume_path\":\"/var/lib/kubelet/pods/71fef63b-4908-41f9-8fc4-47359a486ec5/volumes/kubernetes.io~csi/pvc-bd11440b-11c1-4bea-9d01-fcd47d4b2719/mount\"} err: rpc error: code = Internal desc = failed to check volume mode for volume path /var/lib/kubelet/pods/71fef63b-4908-41f9-8fc4-47359a486ec5/volumes/kubernetes.io~csi/pvc-bd11440b-11c1-4bea-9d01-fcd47d4b2719/mount: input/output error"
......

Notice that most of the longhorn-manager pods and instance-manager pods were restarted after 2022-10-31. I don't know what happened at that moment... I guess there was something wrong then it lead to Longhorn components restart...

IIRC, I think we may have restarted the longhorn-manager pods manually. We had priorityclass setting configured which lead to instance-manager-e-xxxx pods unable to scheduled on nodes and sometimes were being randomly deleted so had to remove the setting which was fine afterwards. Also, increased the (guaranteed) cpu resources which caused the instance-manager and longhorn-manager pods to restart.


crash in apply() when doing 1-D matrix memory allocation

I was using exec->apply() and encountered the following error.
Seems it crashes in allocating the memory for either rhs or locs which is a 1-D matrix.

Thanks for the report! Could you please add a bit more context to the issue? Such an allocation should normally not fail, so there might be some memory corruption happening beforehand. Can you try running it under valgrind and see if you get any previous errors before the solve?

seems it's due to memory leakage elsewhere in the program


AzureDevOpsPipelineExtension - TypeError: Cannot read property 'items' of undefined

Hi,
I've just started to use this task in one of my release pipelines, however the task fails with this exception:
TypeError: Cannot read property 'items' of undefined
This is running using a private agent - if I switch this to use a hosted agent it works fine.
Debugging the task on the private agent, I can see this is javascript based - writing the contents of the "response" variable in listKv() method (azconfig-client.js) displays this:
 2019-12-18T15:32:34.2316567Z WebResponse { 2019-12-18T15:32:34.2317320Z   statusCode: 401, 2019-12-18T15:32:34.2318151Z   statusMessage: 'Unauthorized', 2019-12-18T15:32:34.2318951Z   headers:  2019-12-18T15:32:34.2319751Z    { server: 'openresty/<IP_ADDRESS>', 2019-12-18T15:32:34.2320566Z      date: 'Wed, 18 Dec 2019 15:32:34 GMT', 2019-12-18T15:32:34.2320965Z      'content-length': '0', 2019-12-18T15:32:34.2321037Z      connection: 'close', 2019-12-18T15:32:34.2321116Z      'www-authenticate': 'HMAC-SHA256 error="invalid_token", error_description="Invalid Signature", Bearer', 2019-12-18T15:32:34.2321203Z      'x-ms-request-id': 'b7703d17-ed6c-4c78-8679-00abb838bd5d', 2019-12-18T15:32:34.2321325Z      'x-ms-correlation-request-id': 'b7703d17-ed6c-4c78-8679-00abb838bd5d', 2019-12-18T15:32:34.2322088Z      'access-control-allow-origin': '*', 2019-12-18T15:32:34.2322489Z      'access-control-allow-credentials': 'true', 2019-12-18T15:32:34.2322583Z      'access-control-allow-methods': 'GET, PUT, POST, DELETE, PATCH, OPTIONS', 2019-12-18T15:32:34.2322804Z      'access-control-allow-headers': 'DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-command-name, x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, x-ms-retry-after, x-ms-request-id, WWW-Authenticate', 2019-12-18T15:32:34.2323142Z      'access-control-expose-headers': 'DNT, X-CustomHeader, Keep-Alive, User-Agent, X-Requested-With, If-Modified-Since, Cache-Control, Content-Type, Authorization, x-ms-client-request-id, x-ms-command-name, x-ms-content-sha256, x-ms-date, host, Accept, Accept-Datetime, Date, If-Match, If-None-Match, Sync-Token, x-ms-return-client-request-id, ETag, Last-Modified, Link, Memento-Datetime, x-ms-retry-after, x-ms-request-id, WWW-Authenticate', 2019-12-18T15:32:34.2323663Z      'strict-transport-security': 'max-age=15724800; includeSubDomains' } }
I can confirm that the response.body is null also
Looking online I found this post:
https://social.msdn.microsoft.com/Forums/en-US/a105498e-ef31-4713-a35a-cdb714000f3d/error-401-unhauthorized-invoking-azure-app-configuration-from-postman?forum=azureappconfiguration
Is there some kind of bug in CryptoJS?

Hi @inuvano-labs I'm not sure I understand what you mean by private agent and hosted agent.  Are you using the App Configuration pipeline task?
The referenced post is a usage error. Please make sure the URI you signed is the URI that is sent on the wire.
cc: @Yiming-Jia

I'm a colleauge of @inuvano-labs. A hosted agent means a "Microsoft-hosted agent": https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/hosted?view=azure-devops
A private agent means an build agent that we host ourselves on-prem.
Yes we are using the App Configuration Pipeline task

Hi @zhenlan - we're using https://marketplace.visualstudio.com/items?itemName=AzureAppConfiguration.azure-app-configuration-task&ssr=false#overview as part of a release pipeline
Just to clarify, we're not calling the /kv method on the REST API directly - just using the marketplace task as-is.
In the environment where it's failing (on-prem using private agent), I edited the azconfig-client.js to log the response.
Do you have any advice on how we can debug this further?

Thanks for sharing more details, @davidjward30 @inuvano-labs. I see what you mean now.
Can you please make sure the clock on your private agent is accurate? If it's more than 15 minutes off from the true time, the request will be denied. This is to prevent request replay attack.

Okay, clock time looks to be accurate.
Also checked the value of "utcNow" variable in method "_signRequest()" which is formatted as "Fri, 20 Dec 2019 09:20:28 GMT"
We were not able to replicate the issue using Azure CLI (az appconfig) using the same private agent/environment combination - it works as expected.

Hello @inuvano-labs , sorry for the inconvenience. I was able to see pull out the requestId from the first post, and checked our server logs for that 401 request.
Could you rerun the pipeline in your private agent, with system.debug to true. That way could give you more logs when Azure App Configuration task run.

I saw all requests that failed with 401 have URI like below while other requests that don't have the :443 port number in their URIs have all succeeded.
https://{your-store-name}.azconfig.io:443/kv?xxxxx

I suspect the failed request was signed without port number in the URI but the port number was added later before the request was sent to the service.
@inuvano-labs are you aware of any configuration on your private agent that will cause this?

Thanks for looking at this - we wouldn't be altering the URL at agent level but our corporate proxy may. I'll have to check when I'm back from the holidays and let you know
Get Outlook for Androidhttps://aka.ms/ghei36

From: Zhenlan Wang<EMAIL_ADDRESS>Sent: Saturday, December 21, 2019 3:45:38 AM
To: Azure/AppConfiguration<EMAIL_ADDRESS>Cc: John Mason<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [Azure/AppConfiguration] AzureDevOpsPipelineExtension - TypeError: Cannot read property 'items' of undefined (#227)
I saw all requests that failed with 401 have URI like below while other requests that don't have the :443 port number in their URIs have all succeeded.
https://{your-store-name}.azconfig.io:443/kv?xxxxx
I suspect the failed request was signed without port number in the URI but the port number was added later before the request was sent to the service.
@inuvano-labshttps://github.com/inuvano-labs are you aware of any configuration on your private agent that will cause this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/Azure/AppConfiguration/issues/227?email_source=notifications&email_token=AGBIVAGUE4NY6TCGFF5LK6TQZWGOFA5CNFSM4J4NAMD2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEHOUJJY#issuecomment-568149159, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGBIVAAOOG3UVXYYDW3Z25DQZWGOFANCNFSM4J4NAMDQ.


Establish redirect from /materials to /curriculum

So incoming links to /materials make it to the new page. Same for any page with an old site to new site URL switch.

Here's another one: /codeofconduct to /code-of-conduct

@Roenok can you open another PR for the Code of Conduct routing? Thanks!

@juliaelman Done, as https://github.com/girldevelopit/gdi-new-site/issues/138

:dancer: @Roenok

Can I ask why changing the URL to curriculum? I have a hard time spelling it, as I'm sure others do as well. I would hate for that to be a barrier for those looking to get materials from us.

We're not :) I checked this multiple times too outta confusion. We're doing '/materials'

GOOD.

Haha yeah i was telling @juliaelman I'd have to open an issue solely for error-checking the spelling throughout the code haha

Wrong button there, sorry. Ignore the close.

There, that's the label I wanted. Now closing. We have updated #66 to use materials, so this redirect is no longer needed.


[Bug] Documentation site returns a 404

https://sanic-openapi.readthedocs.io as mentioned in the README returns a 404.

It's my fault. The documentation site still not ready but I put the URL on README.md.
@ahopkins Could you set up the new Readthedocs project for Sanic-OpenAPI? I will be very appreciated.

Will do. I have had a busy end to my Summer. I will dig into this in a few days.

Any update on this?

Hello, what happened with the docs?

I don't have enough permission to create Readthedocs project with this repository(this requires to create a webhook in this project). So, I'm waiting for @ahopkins to handle this. And I think he is very busy in recent months. :sweat_smile:

It seems like more than one person should have permission to publish to readthedocs to avoid this kind of scenario.

@seemethere Just wondering if you have the permissions of this repository or not. We need a Readthedocs project to host the document. But I can not reach @ahopkins in recent months so this requirement has been pending for a long time. Could you help me to create a new Readthedocs project with this repository if you have the permissions? I will be very very very appreciated.

Yikes... so sorry everyone.
I added this and @chenjr0719 is listed as a maintainer.
https://readthedocs.org/projects/sanic-openapi/
Let me know what else is needed. I am back from being .... "absent".

@ahopkins Welcome back and thanks for your helping.
The document site works now so I'm going to close this issue.


Postgres is not recognized as a database type

Unhandled exception.
System.InvalidOperationException: Failed to convert configuration value
at 'Api:Database:DatabaseType' to type 'TCDev.APIGenerator.DbType'.
 ---> System.FormatException: Postgres is not a valid value for DbType.
 ---> System.ArgumentException: Requested value 'Postgres' was not found.

Could be because the enum of Postgres type is commented out here? Or is it not yet supported?
Thank you..

Ahh i think thats actually documented wrong or old. That Enum is a relic from ab older database version.
Try using https://www.nuget.org/packages/TCDev.APIGenerator.Data.Postgres/
And use AddDataContextSQL()
https://docs.rasepi.com/database-options
Have to update the docs here @moalamri and big sorry for the delay...vacation and stuff, forgot to check the issues!

It's totally ok, thank you so much.
This is a huge time-saving tool 👍
I ended up using ServiceStack OrmLite & AutoQuery, which pretty much does the same except that it don't use EF.
I'll close this issue as you have cleared up the confusion 👍
Thank you


Sync next-release, ballerina 1.0.x, release-1.0.1 into master

Purpose

Sync next-release, ballerina 1.0.x, release-1.0.1 into master

Codecov Report

Merging #19228 into master will increase coverage by 4.69%.
The diff coverage is 29.16%.

@@            Coverage Diff             @@
##           master   #19228      +/-   ##
==========================================
+ Coverage    15.8%    20.5%   +4.69%
==========================================
  Files          47       52       +5
  Lines        1259     1395     +136
  Branches      196      216      +20
==========================================
+ Hits          199      286      +87
- Misses       1047     1096      +49
  Partials       13       13

Impacted Files
Coverage Δ

...ool-plugins/vscode/src/debugger/config-provider.ts
0% <0%> (ø)
:arrow_up:

tool-plugins/vscode/src/core/extension.ts
28.06% <20%> (ø)
:arrow_up:

composer/packages/tracing/src/DetailView.tsx
72.72% <75%> (ø)

composer/packages/tracing/src/ToolBar.tsx
71.05% <0%> (ø)

composer/packages/tracing/src/TraceList.tsx
94.44% <0%> (ø)

composer/packages/tracing/src/TraceLogs.tsx
70.37% <0%> (ø)

composer/packages/tracing/src/index.ts
0% <0%> (ø)

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 c200b70...76d8316. Read the comment docs.


Restore from a remote Storage

I'm storing my backup onto Azure Blob Service. I'm using a custom remote storage to store my backup files. I'm using mysql database.
When I try to restore any file, I get this error :
Finding latest backup
Restoring backup for database 'default' and server 'None'
Restoring: default-455a4e1caea4-2017-05-03-060045.dump
Restore tempfile created: 172.3 MiB
Are you sure you want to continue? [Y/n]
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/dbbackup/db/base.py", line 145, in run_command
    env=full_env)
  File "/usr/local/lib/python3.6/subprocess.py", line 665, in __init__
    errread, errwrite) = self._get_handles(stdin, stdout, stderr)
  File "/usr/local/lib/python3.6/subprocess.py", line 1162, in _get_handles
    p2cread = stdin.fileno()
io.UnsupportedOperation: fileno

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 359, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 294, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 345, in execute
    output = self.handle(*args, **options)
  File "/usr/local/lib/python3.6/site-packages/dbbackup/management/commands/dbrestore.py", line 54, in handle
    self._restore_backup()
  File "/usr/local/lib/python3.6/site-packages/dbbackup/management/commands/dbrestore.py", line 94, in _restore_backup
    self.connector.restore_dump(input_file)
  File "/usr/local/lib/python3.6/site-packages/dbbackup/db/base.py", line 96, in restore_dump
    result = self._restore_dump(dump)
  File "/usr/local/lib/python3.6/site-packages/dbbackup/db/mysql.py", line 39, in _restore_dump
    stdout, stderr = self.run_command(cmd, stdin=dump, env=self.restore_env)
  File "/usr/local/lib/python3.6/site-packages/dbbackup/db/base.py", line 156, in run_command
    "Error running: {}\n{}".format(command, str(err)))
dbbackup.db.exceptions.CommandConnectorError: Error running:  mysql dbname --host=db --port=3306 --user=******* --password=******
fileno

My function to download the file in my storage backend is something like this :
from azure.storage.blob import BlockBlobService
from django.core.files.base import ContentFile

def _open(self, name, mode='rb'):
    service = BlockBlobService(
        account_name=account_name,
        account_key=account_key)

    blob = service.get_blob_to_bytes(
        container_name="backups",
        blob_name=name)

    return ContentFile(blob.content)

It returns a Django Content File (https://docs.djangoproject.com/en/1.11/ref/files/file/#the-contentfile-class).
It's this instance of file that is injected in the stdin of run_command in dbbackup/db/base.py.

Do you really think this issue is Djanog-DBBackup related ?
Otherwise, you should use get_blob_to_file instead of get_blob_to_bytes.

The _open function should return a Python File Object.
I return a ContentFile, which is a in memory File object (https://github.com/django/django/blob/master/django/core/files/base.py#L134). It extends the Django File wrapper which extends the native Python File object.
It works just fine with user uploads and collect static.
The function to restore should work with that.
Maybe if we use Python PIPE and communicate method, it would work

Could you try the following things:

Could you change this line :https://github.com/django-dbbackup/django-dbbackup/blob/master/dbbackup/db/base.py#L155 to raise the real error ?
What if you try to laucnh the same thing than DBBackup manually ? (You can download you backup with DBBackup command and use the MySQL command provided by DBBbackup's traceback)

Here's the full stack trace if I raise the error :
Traceback (most recent call last):
  File "/app/manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "/usr/local/lib/python3.6/site-packages/django/core/management/__init__.py", line 359, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 294, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/usr/local/lib/python3.6/site-packages/django/core/management/base.py", line 345, in execute
    output = self.handle(*args, **options)
  File "/app/apps/dbbackup/management/commands/dbrestore.py", line 54, in handle
    self._restore_backup()
  File "/app/apps/dbbackup/management/commands/dbrestore.py", line 94, in _restore_backup
    self.connector.restore_dump(input_file)
  File "/app/apps/dbbackup/db/base.py", line 96, in restore_dump
    result = self._restore_dump(dump)
  File "/app/apps/dbbackup/db/mysql.py", line 40, in _restore_dump
    stdout, stderr = self.run_command(cmd, stdin=dump, env=self.restore_env)
  File "/app/apps/dbbackup/db/base.py", line 155, in run_command
    raise err
  File "/app/apps/dbbackup/db/base.py", line 145, in run_command
    env=full_env)
  File "/usr/local/lib/python3.6/subprocess.py", line 665, in __init__
    errread, errwrite) = self._get_handles(stdin, stdout, stderr)
  File "/usr/local/lib/python3.6/subprocess.py", line 1162, in _get_handles
    p2cread = stdin.fileno()
io.UnsupportedOperation: fileno

You mean if I download the dump file, and I call myself something like cat backup.dump | mysql <params> ?

If I pipe my file this way :
            process = Popen(cmd, stdin=PIPE, stdout=stdout, stderr=stderr,
                            env=full_env)
            process.communicate(input=stdin.read())
            process.wait()

It works well

@dorianamouroux Thanks for your test !

You mean if I download the dump file, and I call myself something like cat backup.dump | mysql  ?

Yes!
The problem seem to come from ContentFile object, it uses io.StringIO or io.BytesIO but theses classes doesn't support fileno() method. (There's no file description for theses in-memory files)
If you could provide a PR with your changes, there's a lot of work with because I think you have to fix unit tests too.
A short time solution could be to use File instead of ContentFile, I think Azure's objects support fileno().

I created a quickfix for it https://github.com/django-dbbackup/django-dbbackup/pull/244

Solved in #280


use mesos 0.23 in tests

Signed-off-by: Victor Vieux<EMAIL_ADDRESS>

LGTM

I don't understand why, but I think it's related to the CI running overlayfs

I am trying to do regression on an AUFS box but Mesos test cases seem to be failing somehow.

@chanwit my bad, I wasn't related to overlay, but the patch was bad, I hardcoded some ips related to my env. Should be good now.

@vieux it passed now :):):)
LGTM

ping @aluzzardi

ping @aluzzardi I removed the function

LGTM


Add preservation for other blocks

Hello,
First I'd like to thank you for this mod. I just started using it and I already love it! Cooking is now possible in this game, finally (with Pam)!
I'd like to suggest that Cabinets, Counters, Fruit Basket and Spice Rack gets also a preservation upgrade. Or add the upgrade to the Cooking Table itself.
The issue is that, while playing with Pam (and some other mods), there's a LOT of different ingredients (over 100), and making sure all of them gets stored is really hard with automation. It is possible with filtering, but it's hard.
Since there's already a way to preserve in the Fridge, I thought it would be a cool idea to preserve also in other blocks.
Hope you like the suggestion!

Just as a note, the main reason for this is that, while using Storage Drawers for storing items, the lag gets real while trying to cook using ingredients directly from them.

I second that. So the many cupboards needed would not disorganise over time.


authentication failure in tutorial

I am working through this tutorial and when I get to the 3rd cell in step 3, I get this error on the line
df = spark.read.parquet(wasbs_path)
shaded.databricks.org.apache.hadoop.fs.azure.AzureException: hadoop_azure_shaded.com.microsoft.azure.storage.StorageException: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.

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

ID: 355fba0e-958e-f572-18c2-892c91d20b13
Version Independent ID: 7fe76247-c969-2068-2c3c-bf327fbbe39e
Content: Quickstart - Run a Spark job on Azure Databricks Workspace using Azure portal
Content Source: databricks/scenarios/quickstart-create-databricks-workspace-portal.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

Note, using the instructions here, I am able to access the data set.

@FMJim Thank you for the feedback. We are actively investigating and will get back to you soon.

Thanks for the feedback! We have assigned the issue to the content author to further review this and update the document as appropriate.

Thanks for providing feedback that helps improve our documentation. This issue has been resolved and this outdated content has been removed. We are closing the issue.
#please-close

#please-close


Missing 2. Login ("Kunden-ID")

A lot of banks use not only a login (="Benutzerkennung") + PIN, but have a kind of second loginname (="Kunden-ID"). One example is akf24-bank.
Here is a list of banks
Could this be implemented? If not - could you give a hint where this should be done?
Thanks and best regards!

Hi. Sorry for the late response. I really have some timing issues atm :)
If someone wants to do this:
The "Kunden-ID" should be set in the Segment HKIDN instead of the username.
I would call this field $clientId in the code and the $clientId should be optional.
If $clientId is NULL, then use the username, else use the $clientId.
Hope someone feels like, he want to implement this. Else I will do it as soon as I have a little bit more time.

Just to avoid misunderstandings: Client-ID and Username is needed at the same time. It's not either/or. For akf24: If one of the fields is omitted, access fails. I have no clue why two different fields are necessary, but that's the way the bank wants to have it.
Unfortunately I don't think I'm able to implement this, but I will for sure help to test the new code. Just contact me and I will react on short notice.
Thanks for the support!

Hi,
is there any progress on this?
I'm trying to get data from the "Volksbank Wolfenbüttel" and it seems they also need the second login.
@bell430 have you found a solution for this?

Sorry - haven't found a solution. But I will still support if testing is needed.

Found the solution in my case. It had nothing to do with second login, but with no available TAN mechanisms. I will open a new issue for that.


date-picker  enhancements -Support more options

This function solves the problem (这个功能解决的问题)
Improve functions and enhance user experience
Expected API (期望的 API)
Arco reference design
1.Add a year selector
2.The month selector currently looks crowded. Would you consider changing to a style similar to the date selector
3.Add quarterly selector
4.Add week selector
5.Customize the default range location

same #111


Update SpeakersActivity.java

I did this change according to the Google Code-In task (https://codein.withgoogle.com/dashboard/task-instances/6273876803715072/?sp-page=1).

@pgellert Could you please create only one PR instead of 3 which has all the code you wrote. Thanks!


gwhisper crashes if the server does not support reflection

Describe the bug
When trying to connect to a server that does not support gRPC reflections then gWhisper crashes with a segfault. Would be nice if a message would be displayed instead that states that the server is missing the reflection support.
To Reproduce
just try to connect to a server that does not support reflection
Expected behavior
no crash but a clear message

Thanks for reporting this. We should indeed not crash but write an understandable error message.
We did until now not test on non-reflection server.
A;so see related issue:  #5 which we plan to work on in the next months

in latest development version, as well as in latest release v3.3.1 I cannot reproduce.
output when connecting to non reflection server:
> gwhisper <IP_ADDRESS>
Parse failed.Parsed until: '<IP_ADDRESS>'
Possible Candidates:
  '<IP_ADDRESS>:'
  '<IP_ADDRESS>'
  '<IP_ADDRESS> '
Reflection request not implemented; is the ServerReflection service enabled?

could you please give details (gwhisper version) and example crash.

I'm using v3.3.1 and am connecting from x86 to a none reflect enabled gRPC service running on 390. the result is
Segmentation fault (core dumped)


Add argo-cd service example

Add argoproh/argo-cd service example.
Service has a version endpoint that returns a JSON object like so:
{"Version":"v2.4.14+029be59"}

Regex: v([0-9.]+)$ has picked up the versions just fine so far in the past 6 months.

Ref: Issue #26

Looks good, thanks for contributing. I just have 1, maybe 2 things I'd like you to change if possible please?

It's alphabetised starting with the repo owner, so should be beneath the two ansible ones.

Have you tried adding json: Version in the deployed_version section incase the ordering of the JSON returned by the API changes for whatever reason? I'd prefer it to be there if that works please (can't see why it wouldn't)

    deployed_version:
      url: https://argocd.example.io/api/version
      json: Version
      regex: v([0-9.]+)

You're right, I must have missed out the json feature way back when I first set it up. I tested it on my infra and it's still working as expected.
INFO: Found 12 services to monitor:
 - release-argus/argus
 - argoproj/argo-cd
 ...


[docs] adapter updates: initial NSM, tweaks on Octarine, rename NSX SM

Signed-off-by: leecalcote<EMAIL_ADDRESS>

@schillingjerrid you might be interested in the netlify integration here, which we're using to provide a convenient preview build (see the URL in the checks above)


[improve][ci] Improve thread leak detection by ignoring more Testcontainers threads

Motivation
The thread leak detection added in #21450 reports some Testcontainer threads as leaks. These threads can be safely ignored since they will be terminated eventually.
Modifications

detect threads where the Runnable class is under "org.testcontainers" package. Some threads don't have an unique name and the only way to detect them is to check the Runnable's class name.
ignore threads where the name starts "testcontainers-wait-"

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Codecov Report

Merging #21499 (c7546b9) into master (7c6a4b8) will increase coverage by 36.53%.
Report is 3 commits behind head on master.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             master   #21499       +/-   ##
=============================================
+ Coverage     36.76%   73.30%   +36.53%
- Complexity    12233    32626    +20393
=============================================
  Files          1713     1890      +177
  Lines        130816   140423     +9607
  Branches      14258    15434     +1176
=============================================
+ Hits          48100   102931    +54831
+ Misses        76361    29398    -46963
- Partials       6355     8094     +1739

Flag
Coverage Δ

inttests
24.29% <0.00%> (+0.06%)
:arrow_up:

systests
24.78% <0.00%> (+0.08%)
:arrow_up:

unittests
72.58% <100.00%> (+40.66%)
:arrow_up:

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

Files
Coverage Δ

...n/java/org/apache/pulsar/broker/PulsarService.java
82.81% <100.00%> (+13.86%)
:arrow_up:

...rg/apache/pulsar/broker/service/BrokerService.java
80.68% <100.00%> (+25.78%)
:arrow_up:

... and 1453 files with indirect coverage changes


[TOPIC] Featured users/contributors

For this newsletter Ana was thinking Matthias and Cameron to be highlighted as the featured users/contributors - thoughts?
Cameron's bio summary and picture are en route.

I think we can cycle through Jupyter's Core team on an ad hoc basis and take particular suggestions for someone being featured or highlighted just like we would any other story suggestion. Do you have contact info for everyone on the team? I can share if not. I would go ahead and gather some photos and bios in advance so that you can simply insert them as there is room in the newsletter. Perhaps make the request post the Dev Meeting next week. Many people are likely busy right now preparing to be out of the office for one week...

Good idea, that'd take a lot of pressure off for future newsletters.
Can I start
this on Monday?
On Thursday, March 24, 2016, Ana Ruvalcaba<EMAIL_ADDRESS>wrote:

I think we can cycle through Jupyter's Core team on an ad hoc basis and
take particular suggestions for someone being featured or highlighted just
like we would any other story suggestion. Do you have contact info for
everyone on the team? I can share if not. I would go ahead and gather some
photos and bios in advance so that you can simply insert them as there is
room in the newsletter. Perhaps make the request post the Dev Meeting next
week. Many people are likely busy right now preparing to be out of the
office for one week...
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/jupyter/newsletter/issues/21#issuecomment-201074575

--
Katie White
VP of Marketing - Cal Poly Entrepreneurs
Business Admin. Intern - Project Jupyter
Cal Poly Business
Cell:<PHONE_NUMBER>

Yup, I would actually suggest waiting to ask people for photos/bios until April 3 (post the Dev Meeting). The only two you have to worry about gathering in time for the next newsletter would be Matthias and Cameron.

Matthias Bussonnier
Matthias is a French Physicist. He has been a core developer of IPython and Jupyter since 2012, and has been a PostDoc working full time on IPython & Jupyter at UC Berkeley. Matthias
I'll update this comment later, you should have the ability to update it too. I'm bad at describing myself ingeneral .

Could I get a picture?
Katie White VP of Marketing - Cal Poly Entrepreneurs Business Admin. Intern - Project Jupyter Cal Poly Business Cell:<PHONE_NUMBER>
On Mon, Mar 28, 2016 at 10:04 AM, Matthias Bussonnier <<EMAIL_ADDRESS>> wrote:
MATTHIAS BUSSONNIER
Matthias is a French Physicist. He has been a core developer of IPython and
Jupyter since 2012, and has been a PostDoc working full time on IPython &
Jupyter at UC Berkeley. Matthias
I'll update this comment later, you should have the ability to update it too.
I'm bad at describing myself ingeneral .
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub

Hey Matthias - could I get one sentence on what you are working on right now?

@katiewhite360 - is there where you're keeping track of featured contributor submissions you have on deck? If not should we close out the issue? Not sure if this continues to be useful otherwise.

They are in my email. Yes feel free to close it out.
Katie White Vice President - Cal Poly Entrepreneurs Business Administration - Project Jupyter Cal Poly Business Cell:<PHONE_NUMBER>
On Tue, May 31, 2016 2:08 PM, Ana Ruvalcaba<EMAIL_ADDRESS>wrote:
@katiewhite360 - is there where you're keeping track of featured contributor submissions you
have on deck? If not should we close out the issue? Not sure if this continues
to be useful otherwise.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub , or mute the thread .


Return windspeed and windgust in km/h instead of m/s.

Description:
Darksky dev docs state (https://darksky/dev/docs):
ca: same as si, except that windSpeed and windGust are in kilometers per hour
This change will make the output in sync with https://developers.home-assistant.io/docs/en/entity_weather.html when the unit_system is metric
Related issue (if applicable): #16793
Example entry for configuration.yaml (if applicable):
homeassistant:
  latitude: !secret ha_latitude
  longitude: !secret ha_longitude
  elevation: !secret ha_elevation
  unit_system: metric

weather:
  - platform: darksky
    api_key: !secret darksky_apikey
    mode: daily

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.

For Dark Sky, si means all metric AND wind speed in m/s.
ca means all metric AND wind speed in km/h.
So, units:si should not be used now on.


Missing information in "running locally"  from developer guide

Since running akri agent and controller locally is mainly for code development work, it may be better to assume there is no currently installed Akri by helm. That is to say, there is no akri config and akri instance CRD in cluster yet. The document can help developer with instruction step by step, such as setting up CRD, creating akri config instance, then build and run agent or controller.
Before running Akri agent, since it will create a UDS in path as environment variable DISCOVERY_HANDLERS_DIRECTORY, which is set as ~/tmp/akri in document, it will be a helpful note to request reader mkdir the path before running agent locally.

Hi @leolumicrosoft! Good point that this section is missing steps to install the CRDs and create the discovery handler directory. Would you be interested in adding that?

PR is created. Please check

I am running in some issue to setup the local running dev environment. Any insight is appreciated. I setup follow the current instruction.
Issue: locally running debug echo discovery handler can not register with also locally running Akri agent, though fully installed Akri by helm runs debug echo discovery correctly.
My steps of setup (in an empty microk8s cluster):

Create config and instance CRD.
Create a debug echo config and apply to cluster:
helm template akri akri-helm-charts/akri
--set debugEcho.configuration.enabled=true
--set debugEcho.configuration.brokerPod.image.repository=nginx
--set debugEcho.configuration.shared=false
--set rbac.enabled=false
--set controller.enabled=false
--set agent.enabled=false > debugechoconfiguration.yaml
Run Akri agent locally
cd ~/akri/agent
sudo -E DEBUG_ECHO_INSTANCES_SHARED=false ENABLE_DEBUG_ECHO=1 RUST_LOG=info METRICS_PORT=8082 KUBECONFIG=~/.kube/config DISCOVERY_HANDLERS_DIRECTORY=~/tmp/akri AGENT_NODE_NAME=vm20 HOST_CRICTL_PATH=/usr/bin/crictl HOST_RUNTIME_ENDPOINT=/var/snap/microk8s/common/run/containerd.sock HOST_IMAGE_ENDPOINT=/var/snap/microk8s/common/run/containerd.sock ~/.cargo/bin/cargo run
Run debug echo discovery handler locally
cd ~/akri/discovery-handler-modules/debug-echo-discovery-handler
RUST_LOG=info DEBUG_ECHO_INSTANCES_SHARED=false DISCOVERY_HANDLERS_DIRECTORY=~/tmp/akri AGENT_NODE_NAME=vm20 ~/.cargo/bin/cargo run

When I noticed that there was no akri instance created as foo1 foo2, I use trace to check. I found that debug echo discovery handler does not really pass registration to Akri agent, though I am sure both is using the same .sock UDS file. I can trace to that in discovery-utils/src/registration_client.rs, register_discovery_handler does not pass below async await so it repeatedly tries registering, what could be the problem for this running locally setup?
if let Ok(channel) = Endpoint::try_from("dummy://[::]:50051")?
.connect_with_connector(tower::service_fn(move |_: Uri| {
tokio::net::UnixStream::connect(super::get_registration_socket())
}))
.await

Found the reason, it is because the discovery handler is running without sudo permission. I manage to print the tonic error from connect_with_connector as below
panicked at 'tonic::transport::Error(Transport, hyper::Error(Connect, Os { code: 13, kind: PermissionDenied, message: "Permission denied" }))'
Then I tried running debug echo discovery handler locally with sudo, and it is successful now and two akri instances were created. I will modify the document as well that discovery handler should be runned using sudo.


Stack Overflow issue

weird issue that would cause stack over flow
here's the full schema https://pastebin.com/r5XGyYVK
but basically i switched State on line 64 out with Box and it fixed it.
but i couldn't really figure out why and pretty sure i shouldn't need this since is in a Vec

Your pastebin is hundreds of structs across thousands of lines. I am not going to investigate this. Probably there is a big struct using a large amount of stack space.


default profile doesn't handle ctrl+left / ctrl+right properly

default install with mintty, unlike putty, doesn't handle ctrl+left and ctrl+right properly and prints 5D 5C instead.
"\e[1;5C": forward-word   # ctrl + right
"\e[1;5D": backward-word  # ctrl + left
inside ~/.inputrc fix the issue.
can it be added to default profile? ref: http://superuser.com/a/488158/104745

Sure, please make a pull request.

It looks like adding those lines to /etc/inputrc works.

mingwandroid, where is that item that contains default user profile in msys?

https://github.com/Alexpux/MSYS2-packages/blob/master/filesystem/dot.inputrc


In_App_Purchase PlatformException for Pending Purchases; unable to manually complete purchase...

Good afternoon!
I'm implementing Flutter In App Purchase plugin and followed the example application/documentation to get it implemented..
Here I'm calling this method to make a purchase which results in the following PlatformException below..

It says to manually complete the purchase however there is no way for me to do this since I never get access to the PurchaseDetails object required for this method here ->

I would expect my subscription to be triggered but that isn't happening either ->

Any ideas? Thank you for your time!
Here's output of Flutter doctor ->
    • Flutter version 1.17.3 at /Users/bmahecha123/development/flutter
    • Framework revision b041144f83 (3 weeks ago), 2020-06-04 09:26:11 -0700
    • Engine revision ee76268252
    • Dart version 2.8.4

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/bmahecha123/Library/Android/sdk
    • Platform android-29, build-tools 29.0.2
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.1

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 44.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] IntelliJ IDEA Community Edition (version 2019.3.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 42.0.2
    • Dart plugin version 192.7761

[✓] VS Code (version 1.46.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.12.0```

Hi @Bmahecha123
Please refrain from posting screenshot of code sample,  provide code sample
Can you please provide your flutter run --verbose, your pubspec.yaml and a complete reproducible minimal code sample
Thank you

@Bmahecha123
please follow up on https://github.com/flutter/flutter/issues/60763, closing current one as duplicate, if you disagree please write in the comments with asked information and I will reopen it


DS-835: Table Sticky Top Bugfix

Summary
Fixed a bug where the sticky top header would go behind the rows.
Details
Removed a unneeded CSS on the tr that was causing this issue.
How to test
Pull down the branch
Navigate to the /pattern-lab/?p=tests-table-support-center page
Scroll down on the table and observe that the top header is sticking

@danielamorse @MarcinMr I added the min-width :0 to the .l-bolt-site > *:only-child selector to fix the bug. Can you please review again?


Feature: font LWRP should allow a configurable source

Cookbook version
1.40.0
Chef-client version
12.9.38
Platform Details
Windows Server 2012 R2
Scenario:
I want to use my own artifact repo to ship fonts, not the files directory in the cookbook.

It would be great if this supported sources other than local files

This has been shipped. Enjoy


ggplot2: add after_stat()

As of the ggplot2 3.4 update (Nov 7, 2022), the ..count.. syntax is deprecated in favor of after_stat(count).
It's not urgent, but I wanted it to be on your list for the next time the cheat sheet is updated. :)

This has been updated, thank you!


feat(jest-preset): use @swc/jest if it's available

Description
Use @swc/jest if it's available. This PR is currently in draft so we can measure the difference in build times on CI. We need to find another way to enable it to avoid breaking existing code bases.
Test plan
CI should pass.

Moved the branch to my own fork. Will open a new PR if necessary.


Add regex for Highlighting, Commands, Ignored Messages and Ignored Users

I got this idea when I took a look at TC

Added regex for highlights. Regex for ignored messages will most likely be implemented soon as well.
I don't know what regex for commands would do and  it doesn't seem reasonable for ignored users.

Regexes for ignores is implemented now.


Installing on Ruby 2.5.0 (OSX) - error with protobuf

Fetching google-protobuf <IP_ADDRESS> (universal-darwin)
Installing google-protobuf <IP_ADDRESS> (universal-darwin)
Gem::RuntimeRequirementNotMetError: google-protobuf requires Ruby version < 2.5, >= 2.0. The current ruby version is 2.5.0.
An error occurred while installing google-protobuf (<IP_ADDRESS>), and Bundler cannot continue.
Make sure that `gem install google-protobuf -v '<IP_ADDRESS>'` succeeds before bundling.

In Gemfile:
  google-cloud was resolved to 0.27.0, which depends on
    google-cloud-datastore was resolved to 1.1.0, which depends on
      google-gax was resolved to 0.8.12, which depends on
        googleapis-common-protos was resolved to 1.3.7, which depends on
          grpc was resolved to 1.6.7, which depends on
            googleapis-common-protos-types was resolved to 1.0.1, which depends on
              google-protobuf

Also opened an issue in the protobuf repo - https://github.com/google/protobuf/issues/4410

This is because the gem is an older release and the pre-compiled gem is compiled only for the Ruby versions that existed when the gem was released.
$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17]
$ gem install google-protobuf --version=<IP_ADDRESS>
Fetching: google-protobuf-<IP_ADDRESS>-universal-darwin.gem (100%)
ERROR:  Error installing google-protobuf:
	The last version of google-protobuf (= <IP_ADDRESS>) to support your Ruby & RubyGems was <IP_ADDRESS>. Try installing it with `gem install google-protobuf -v <IP_ADDRESS>`
	google-protobuf requires Ruby version < 2.5, >= 2.0. The current ruby version is 2.5.0.

Notice that the gem that was fetched is google-protobuf-<IP_ADDRESS>-universal-darwin.gem, the OS X specific version. However, you can tell your system to not install the pre-compiled version and instead install the ruby version that will compile the gem on install:
$ gem install google-protobuf --version=<IP_ADDRESS> --platform=ruby
Fetching: google-protobuf-<IP_ADDRESS>.gem (100%)
Building native extensions. This could take a while...
Successfully installed google-protobuf-<IP_ADDRESS>
1 gem installed

Confirming that this worked for me to install the gem separately.
thanks!


GameLift Server SDK 5.x is out for GameLift Anywhere

It would be really cool to see this crate updated to support the GameLift Server SDK 5.x so it could work with GameLift Anywhere (https://aws.amazon.com/blogs/aws/introducing-amazon-gamelift-anywhere-run-your-game-servers-on-your-own-infrastructure/https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-anywhere.html).

Nice to know that GameLift is evolving. Unfortunately, I don't work anymore in gamedev domain so there is no chance for updating the crate from my side. If you send a PR - I'll try to review and merge it. Another option is just to fork and patch it :)


Bitcoinminds.org to be made available as a service in Raspiblitz

With this PR I would like to enable a new Raspiblitz service to allow any Raspi to host and run fully the BitcoinMinds.org site.
This pull request adds 3 things:

A bonus script to download the code from the bitcoinminds.org repo https://github.com/raulcano/bitcoinminds
A menu item to enable and disable this service.
A command 'bm' to start the server (npm run serve) and make the site available to be visited from the LAN

I leave this PR in draft until I have properly tested it in my Raspiblitz.
NOTE: this PR replaces a deleted one #2415

once the service is started with "npm run serve", there is a server in the local raspi like "localhost:8081".
If I want to access that web UI from my laptop (connected to the network) I cannot just type
192.168.X.Y:8081
At the moment, I need to create an ssh tunnel to access the UI, which is less than ideal.
I suspect there must be some firewall restriction.
For other webUIs in raspiblitz (e.g. RTL), this works well. Can you guys help me on how to configure the firewall properly? thanks!

I suspect there must be some firewall restriction.

RaspiBlitz uses ufw - so you would need to open that port on install script - like with:
ufw allow 8081 comment 'bitcoinminds'

Once the service is started with "npm run serve", there is a server in the local raspi running at "localhost:8081".

port 8081 might be a collusion with loop swap server - would be best to chose another default port.

Excellent, that works as expected :)
With this , I set the PR as ready for review.
Cheers!

This tests OK - will merge for 1.7.2RC2c


assert_hostname and assert_fingerprint attempting to .strip() boolean values in recent version

Commit that looks to have caused issue (for hostname at least):
https://github.com/shazow/urllib3/commit/cc2d86fc13688e573721ee7a7571cb5315ef2017#diff-ba7cb8edcbac0c25e81c20eba663f317
self.assert_hostname (in addition to self.assert_fingerprint) are booleans. This raises an exception
Edit: Then again, let me make sure this is actually the intended use... I may be wrong and elasticsearch-py docs / urllib3 docs just aren't entirely clear as to what these attempt to do

Closing this, it seems this was mostly just a mixup of documentation on my part. Weird that these didn't actually fail hostname verification being passed bools before...

If you have any ideas for improving our docs, PRs for that are super welcome. :)


Clarification on licensing

According to the README, the project is licensed under MIT.
https://github.com/Hernas/homebridge-panasonic-heat-pump/blob/338ff2ed85f376c67b644262d1e8950beb8554c6/README.md?plain=1#L65
But the attached license file is Apache.
https://github.com/Hernas/homebridge-panasonic-heat-pump/blob/338ff2ed85f376c67b644262d1e8950beb8554c6/LICENSE#L1-L3
Is this dual license intended?

The LICENSE file was simply forked from electron template, I have to remove it. My code is licensed under MIT.


Support envfile for tasks.json

The node and Go debuggers both support specifying an env file for environment variables instead of the env hash. It would be great if we could use the same file in tasks.json to have a single source of truth that can also be used by non-vscode scripts

Can you provide me with an example on how this should look like. Why isn't this a normal file

Not sure what you mean with "Why isn't it a normal file"?

If it is a simple file what is preventing you from using it in a tasks.json file.

If you mean why am I not copying the settings over, it is to have a single source of truth. It's the same justification why node debugger and the Go debugger added this config option. tasks.json is not understood by other tools and not every dev uses VS Code, but an env file can be read in easily by a shell script.

I am still puzzled with this. All tasks does is calling other programs. Could the task description not simple pass the right argument (the envfile) to the program it starts. Or do you want tasks to have a setting to read envs vars from a file when you do variable substitution like ${env:xxxx}?

A lot of commands that are candidates to be run through the task system are configured through environment variables - which is why the tasks.json env option is great.
I can write a tasks.json that has a bunch of tasks that are interconnected with dependsOn and have individual problem matchers and they receive the same env vars.
But not everyone uses VS Code, so you will want to provide a way to run these tasks without VS Code, e.g. from a bash script that runs all these commands and sets the same env vars. You want to avoid fragmenting all these env vars between the tasks.json and the script.
Of course, you could now configure your tasks.json to run just a single bash script instead of all the individual commands. But then you lose the ability to specify a problem matcher per task, run them individually etc.
So it would be great to be able to point tasks.json to an external file that contains env vars as simple key=value lines and have the script also read in that external file to have a single source of truth.

Now I got it.

Another reason for this if your application needs secret environment variables like tokens - you can set them in a .gitignored envfile, but commit the tasks.json

I'm missing the envFile as an option for a .Net Core Launch configuration (for .gitignore reasons). Shouldn't it be available for all configurations and tasks that start processes?

I agree with @myrup, the .env constants should be equally accessible from within launch.json – not just  tasks.json. I saw there was some similar discussion here in https://github.com/Microsoft/vscode/issues/14523 resulting in a envFile property but doesn't seem to have been implemented...

Another use-case why this would be great: You want to store the tasks.json file under version control, but not your environment variables which may contain sensitive data. Without the envFile property there is no easy way to separate the two.

For the time being I am working around this by adding a prefix to my task command which essentially sources the .env file used by launch.json.

Is this issue still actual?

Would like to have this to, in the mean time. use $(cat .env | xargs) | <your command>

I support this request.  having all my environment variables in a file and being able to run tasks with those values available would be very valuable

in fact, I'll go further, having the "env" key in options makes no sense at all.  it means I have to hard-code all the environment variables I need into a VSCode configuration file?? that's a terrible approach

Need .env file support in tasks.

Keeps secrets out of git
Define my env vars in one place
It is a standard workflow for multiple languages to use .env file

Here is another use case:

I was hoping to recreate this Makefile (link) in tasks.json to prevent having to install make on Windows
However I need to pass build args from my .env file (The docker extension for VSCode isn't flexible enough for this approach)
Because I cant do the above: I now have to write separate docker-compose.<make step>.yml files in the meantime
But: docker-compose doesn't support BuildKit yet, which means I can't bind mount local volumes into the build scope, which would allow me to export unit test results from the images at build time (also don't get the parallel stage builds either)
Some of the runtime arguments are secrets (i.e. docker run -e password=$PASSWORD), so there is no way they are being hard-coded into tasks.json
So I don't have any means to a fully-functional multi-stage build with build-time bind mounts

The above workflow example in the Makefile will be reused in our CI pipeline.

Essentially allows our developers to run locally what will be run in the CI pipeline
This gives us a CI pipeline agnostic approach that prevents vendor lock-in

So the only thing we're missing at the moment is being able to give devs a clean workflow on their local computers.
** /s ** Or we tell them them to maintain both .env and tasks.json themselves and keep them out of git, and that we expect them to  do this for the 50+ microservices we have built in the past 8 months, and to keep doing it for the additional ones in the future.

For the time being I am working around this by adding a prefix to my task command which essentially sources the .env file used by launch.json.

how do you do it? my .env file doesn't include the "export" keyword and thus . .env doesn't work as child processes can't see the variables.  I also don't see any parameters to the source command to automatically export

A nice secondary feature would be to include an overwrite:True argument envFile to control whether the settings in the file overwrite existing environment variable values.

Hi is there any progress on this request?
I need also to define some .env variable locally to be used by tasks.json

This seems to going in a similar direction to #89825

I'd also be interested in seeing this.

This seems to going in a similar direction to #89825

The solution suggested in the other ticket is to add inputs to tasks.json, but what we are ultimately looking for is a way to run the debugger and only update all environment variables in .env, and not in multiple places.

This would be extremely useful in cases environment variables contain sensitive data like tokens or passwords. With 'envFile' support the .env file could be added to .gitignore

In light testing, the following seems to be an OK workaround for Linux/Mac.

Any progress on this? Seems like a fairly necessary feature for tasks.

Aren't they implemented now?
At least something like this is working:
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "docker-build",
      "label": "docker-build",
      "platform": "python",
      "dockerBuild": {
        "tag": "rapid:latest",
        "dockerfile": "${workspaceFolder}/Dockerfile",
        "context": "${workspaceFolder}",
        "pull": true
      }
    },
    {
      "type": "docker-run",
      "label": "docker-run: debug",
      "dependsOn": ["docker-build"],
      "dockerRun": {
        "containerName": "YOUR_IMAGE_NAME",
        "image": "YOUR_IMAGE_NAME:YOUR_IMAGE_TAG",
        "env": {
          "KEY1": "VAL1",
          "KEY2": "VAL2"
        },
        "volumes": [
          {
            "containerPath": "/app/data/out",
            "localPath": "${workspaceFolder}/data/out"
          },
          {
            "containerPath": "/mnt/in/input.csv",
            "localPath": "/tmp/file.csv"
          }
        ],
        "envFiles": ["../secret.env"],
        "ports": [
          {
            "containerPort": 5000,
            "hostPort": 5000
          }
        ]
      },
      "python": {
        "file": "main.py"
      }
    }
  ]
}

This leads to a docker run --env-file "../secret.env" beeing executed.

I would also love to have this feature implemented.
Currently handling multiple services which are relying on API keys, or certificates passwords which need to be passed to the docker build and debug tasks as env variables. I want to keep those out of Git and I want that each developer has its own local configuration. It would be much cleaner if this configuration can be defined in a local env file rather than having to put those infos into env scoped environment variables

+1

Still very much needed for the case where you want to not commit the env var data, but do want to commit the task itself.
I would like to have a task everyone in the team can reuse, then let them tweak the actual URIs where the task would run at by setting the env vars to locations on their machine which would be different for each developer.

5 Years Later.... (joke aside , was hoping this would be a feature by now) - keep up the good work, I love VSCode ;)

Please implement this. Currently the alternative is to add a project-specific settings.json that can hold config variables. This is one additional place where variables need to be maintained and they also don't provide any value outside of other vscode specific configuration files.

Another workaround to share, although it would only work in a Linux / Mac environment, which worked fine for me, as I was intending this for a devcontainer.
Anyway, I created the following bash script to set the environment variables in the current context and then run the remaining positional arguments as a command.
#!/usr/bin/env bash

if [[ $# -lt 2 ]]
then
  echo "Usage: $(basename "$0") env_file (additional argument ...)"
  exit 1
fi

# We expect the first argument to be the path to the env file, so set those
# variables in the current shell and slice that argument off.
# shellcheck source=/dev/null
source "$1"
shift

exec "$@"

That allowed me to do this in the tasks.json file.
{
  "tasks": [
    {
      "label": "test",
      "type": "shell",
      "command": "${workspaceFolder}/.devcontainer/run-task.sh",
      "args": [
        "env.tests",
        "/usr/local/python/current/bin/py.test",
        "/src",
        "--tb=line"
      ]
    }
  ]
}

Please implement this. Currently the alternative is to add a project-specific settings.json that can hold config variables. This is one additional place where variables need to be maintained and they also don't provide any value outside of other vscode specific configuration files.

Agree. Every other function in vscode supports a .env file directly.
Please implement support for .env in tasks.json

Would love this feature!

+1

+1

This feature would be extremely useful, The current workaround solutions are not ideal, either hardcoding sensitive information in the configuration files or using additional scripts to load the environment variables.
Being able to directly reference the .env file in tasks.json would allow us to better manage environment variables, while also keeping sensitive information out of the Git repository. This would greatly improve the UX of VSCode.

+1
Wow, it was 7 years old issue. Actually similar was done for the launch one, didn't get why this is still on stale.

I suppose this is not going to be done. ever since I've commented and subb'd this issue. Probably going to find an extension for this...

For the time being I am working around this by adding a prefix to my task command which essentially sources the .env file used by launch.json.

how do you do it? my .env file doesn't include the "export" keyword and thus . .env doesn't work as child processes can't see the variables. I also don't see any parameters to the source command to automatically export

Not OP, but this is my workaround for now.

npm i -g dotenv-cli

Then in tasks.json:
        {
            "label": "build",
            "command": "dotenv",
            "type": "process",
            "args": [
                "-e",
                "${workspaceFolder}/.env",
                "--",
                "dotnet",
                "build",
                "${workspaceFolder}/mySolution.sln",
                "/property:GenerateFullPaths=true",
                "/consoleloggerparameters:NoSummary;ForceNoAlign"
            ],

I would really benefit from it on launch.json and tasks.json for the reasons stated here.

dn why downvoted for @joundso 's comment, but
			"dockerRun": {
				"envFiles": [
					"${workspaceFolder}/borya.env"
				]
			}

worked for me, ty
full file .vscode/tasks.json:
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "docker-build",
			"label": "docker-build",
			"platform": "python",
			"dockerBuild": {
				"tag": "sonya:latest",
				"dockerfile": "${workspaceFolder}/Dockerfile",
				"context": "${workspaceFolder}",
				"pull": true
			}
		},
		{
			"type": "docker-run",
			"label": "docker-run: debug",
			"dependsOn": [
				// "docker-build"
			],
			"python": {
				"file": "main.py",
			},
			"dockerRun": {
				"envFiles": [
					"${workspaceFolder}/borya.env"
				]
			}
		}
	]
}

My solution is to change command yarn dev to export $(grep -v -e '^\\s*#' .env | xargs) && yarn dev.
Same should work for npm.
{
  "tasks": [
    {
      "command": "export $(grep -v -e '^\\s*#' .env | xargs) && yarn dev",
      "group": {
        "isDefault": true,
        "kind": "build"
      },
      "label": "yarn dev",
      "type": "shell"
    },
    {
      "command": "yarn install",
      "group": {
        "kind": "build"
      },
      "label": "yarn install",
      "type": "shell"
    },
  ],
  "version": "2.0.0"
}

@sagarvelankar just source the variables:
{
	"version": "2.0.0",
	"options": {
		"env": {
			"ENV_FILE": "${workspaceFolder}/.env",
		},
	},
	"tasks": [
		{
			"label": "yarn dev",
			"type": "shell",
			"command": "set -a; . \"$ENV_FILE\"; yarn dev",
		},
	],
}

; . "$ENV_FILE"

This approach its nice, but would be even better if VsCode would allow to add a "env file" either in options or in the task itself.


NoMethodError in Private::FundsController#index

i am using peatio clone web app for my exchange development. i have issue on my app and it shows NoMethodError in Private::FundsController#index

Need help.

Solution?


Problem with script tag

Challenge Learn how Script Tags and Document Ready Work has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.
My code:

jQuery Playground

#left-well

        <button class="btn btn-default target" id="target1">#target1</button>
        <button class="btn btn-default target" id="target2">#target2</button>
        <button class="btn btn-default target" id="target3">#target3</button>

#right-well

        <button class="btn btn-default target" id="target4">#target4</button>
        <button class="btn btn-default target" id="target5">#target5</button>
        <button class="btn btn-default target" id="target6">#target6</button>

```What am I doing wrong here?
Thanks,
LC

Thank you for reporting this issue.
This is a standard message notifying you that this issue seems to be a request for help. Instead of asking for help here, please click the "Help" button on the challenge on freeCodeCamp, which will take you to the help chatroom for that specific challenge. You can also view our full list of official chatrooms.
If you think I'm wrong in closing this issue, please reopen it and add further clarification. Thank you, and happy coding.

I'm having the exact same issue. I entered the open/close script tag with document ready function as instructed. The editor will not let this pass the test and continue to next page.

It turned out the code window mangled my code when I did a page refresh and when I finally noticed what it had done I made the fixes and all was good..!
Here's the final working code:

jQuery Playground

#left-well

#target1
#target2
#target3

#right-well

#target4
#target5
#target6

Thank you Iclyman, this fixed my problem to: refresh page!! :-D

Refresh page worked wonders lol ty! Thought I was going crazy.

My solution was to open in a different browser. Chrome was giving me issues
so I moved to Edge
On Fri, May 5, 2017 at 9:19 AM borgatajunky<EMAIL_ADDRESS>wrote:

Refresh page worked wonders lol ty! Thought I was going crazy.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/14495#issuecomment-299461836,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AZHKJoRXqYo23oC3Am--6nQYdz_fD4uLks5r2yHLgaJpZM4NB-9U
.

--
Best, Liz