internlm/SWE-Fixer-Train-110K huggingface dataset:
Repository: ansible-collections/community.general

Issue:
ipa_config: add passkey to ipauserauthtype
### Summary

New "passkey" authentication type was added in FreeIPA 4.11.0. I'm going to make PR for this A.S.A.P.

https://www.freeipa.org/release-notes/4-11-0.html

### Issue Type

Feature Idea

### Component Name

ipa_config

### Additional Information

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
Related to #7581 #7582
cc @Akasurde @Nosmoht @fxfitz @justchris1
[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: notify --->

Resolving patch:
diff --git a/plugins/modules/ipa_config.py b/plugins/modules/ipa_config.py
--- a/plugins/modules/ipa_config.py
+++ b/plugins/modules/ipa_config.py
@@ -94,8 +94,9 @@
     description:
       - The authentication type to use by default.
       - The choice V(idp) has been added in community.general 7.3.0.
+      - The choice V(passkey) has been added in community.general 8.1.0.
     aliases: ["userauthtype"]
-    choices: ["password", "radius", "otp", "pkinit", "hardened", "idp", "disabled"]
+    choices: ["password", "radius", "otp", "pkinit", "hardened", "idp", "passkey", "disabled"]
     type: list
     elements: str
     version_added: '2.5.0'
@@ -360,7 +361,7 @@ def main():
         ipauserauthtype=dict(type='list', elements='str',
                              aliases=['userauthtype'],
                              choices=["password", "radius", "otp", "pkinit",
-                                      "hardened", "idp", "disabled"]),
+                                      "hardened", "idp", "passkey", "disabled"]),
         ipausersearchfields=dict(type='list', elements='str',
                                  aliases=['usersearchfields']),
         ipauserobjectclasses=dict(type='list', elements='str',


Test patch:
Repository: ansible-collections/community.general

Issue:
ipa_user: add idp and passkeys to userauthtype
### Summary

I have checked that userauthtype is missing "idp" option.

New "passkey" authentication type was added in FreeIPA 4.11.0. I'm going to make PR for this A.S.A.P.

https://www.freeipa.org/release-notes/4-11-0.html

### Issue Type

Feature Idea

### Component Name

ipa_user

### Additional Information

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
Is it OK to add both options in one PR.
Related to #7580 #7582
cc @Akasurde @Nosmoht @fxfitz @justchris1
[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: notify --->
> Is it OK to add both options in one PR.

Sure. There's also no need to create an issue for them first if they don't really need discussion and you want to implement them anyway.
Thanks, it's good to know in future. I made these just in case. :smile:

Resolving patch:
diff --git a/plugins/modules/ipa_user.py b/plugins/modules/ipa_user.py
--- a/plugins/modules/ipa_user.py
+++ b/plugins/modules/ipa_user.py
@@ -103,7 +103,8 @@
   userauthtype:
     description:
     - The authentication type to use for the user.
-    choices: ["password", "radius", "otp", "pkinit", "hardened"]
+    - The choice V(idp) and V(passkey) has been added in community.general 8.1.0.
+    choices: ["password", "radius", "otp", "pkinit", "hardened", "idp", "passkey"]
     type: list
     elements: str
     version_added: '1.2.0'
@@ -378,7 +379,7 @@ def main():
                          title=dict(type='str'),
                          homedirectory=dict(type='str'),
                          userauthtype=dict(type='list', elements='str',
-                                           choices=['password', 'radius', 'otp', 'pkinit', 'hardened']))
+                                           choices=['password', 'radius', 'otp', 'pkinit', 'hardened', 'idp', 'passkey']))
 
     module = AnsibleModule(argument_spec=argument_spec,
                            supports_check_mode=True)


Test patch:
Repository: ansible-collections/community.general

Issue:
rundeck module_utils: Allow to set content-type for api_request
### Summary

[`api_request`](https://github.com/ansible-collections/community.general/blob/1b9d437be8d085b714f2c38208b30401e7dcf2d9/plugins/module_utils/rundeck.py#L31) should allow to optionally set a custom content-type as this is necessary for some of the Rundeck API endpoints. A good example is the endpoint to upload keys to the storage ([Link](https://docs.rundeck.com/docs/api/#upload-keys)).

It should be good enough to add a new parameter:

```
def api_request(module, endpoint, data=None, method="GET", content_type="application/json"):
```

### Issue Type

Feature Idea

### Component Name

rundeck_project

### Additional Information

-

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
Files identified in the description:
* [`plugins/modules/rundeck_project.py`](https://github.com/ansible-collections/community.general/blob/main/plugins/modules/rundeck_project.py)

If these files are incorrect, please update the `component name` section of the description or use the `!component` bot command.

[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: components_banner --->
cc @nerzhul
[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: notify --->

Resolving patch:
diff --git a/plugins/module_utils/rundeck.py b/plugins/module_utils/rundeck.py
--- a/plugins/module_utils/rundeck.py
+++ b/plugins/module_utils/rundeck.py
@@ -28,7 +28,7 @@ def api_argument_spec():
     return api_argument_spec
 
 
-def api_request(module, endpoint, data=None, method="GET"):
+def api_request(module, endpoint, data=None, method="GET", content_type="application/json"):
     """Manages Rundeck API requests via HTTP(S)
 
     :arg module:   The AnsibleModule (used to get url, api_version, api_token, etc).
@@ -63,7 +63,7 @@ def api_request(module, endpoint, data=None, method="GET"):
         data=json.dumps(data),
         method=method,
         headers={
-            "Content-Type": "application/json",
+            "Content-Type": content_type,
             "Accept": "application/json",
             "X-Rundeck-Auth-Token": module.params["api_token"]
         }


Test patch:
Repository: ansible-collections/community.general

Issue:
Proxmox update config fails on new config item
### Summary

If you try to update the configuration of a proxmox container and add a configuration that was not initially set (i.e. number of cpus), it fails trying to compare the current config to the requested because the setting does not exist yet.

I have the fix already, just opening this issue for tracking.

### Issue Type

Bug Report

### Component Name

proxmox

### Ansible Version

```console (paste below)
$ ansible --version

```


### Community.general Version

```console (paste below)
$ ansible-galaxy collection list community.general

```


### Configuration

```console (paste below)
$ ansible-config dump --only-changed

```


### OS / Environment

_No response_

### Steps to Reproduce

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Expected Results

The configuration is updated.

### Actual Results

There's an exception comparing the current config because the requested key does not exist.

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
Files identified in the description:
* `plugins/modules/proxmox`

If these files are incorrect, please update the `component name` section of the description or use the `!component` bot command.

[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: components_banner --->
cc @Ajpantuso @Thulium-Drake @UnderGreen @joshainglis @karmab
[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: notify --->

Resolving patch:
diff --git a/plugins/modules/proxmox.py b/plugins/modules/proxmox.py
--- a/plugins/modules/proxmox.py
+++ b/plugins/modules/proxmox.py
@@ -562,6 +562,10 @@ def update_config(self, vmid, node, disk, cpus, memory, swap, **kwargs):
         # compare the requested config against the current
         update_config = False
         for (arg, value) in kwargs.items():
+            # if the arg isn't in the current config, it needs to be updated
+            if arg not in current_config:
+                update_config = True
+                break
             # some values are lists, the order isn't always the same, so split them and compare by key
             if isinstance(value, str):
                 current_values = current_config[arg].split(",")


Test patch:
Repository: ansible-collections/community.general

Issue:
Deprecate hipchat callback
### Summary

Cloud-based Hipchat was shut down in September 2017 and the self-hosted version has been [EOL since June 2020](
https://confluence.atlassian.com/hipchatdc3/hipchat-data-center-faqs-909770945.html).

### Issue Type

Feature Idea

### Component Name

hipchat callback

### Additional Information

_No response_

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
Files identified in the description:
* [`plugins/callback/hipchat.py`](https://github.com/ansible-collections/community.general/blob/main/plugins/callback/hipchat.py)

If these files are incorrect, please update the `component name` section of the description or use the `!component` bot command.

[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: components_banner --->

Resolving patch:
diff --git a/plugins/callback/hipchat.py b/plugins/callback/hipchat.py
--- a/plugins/callback/hipchat.py
+++ b/plugins/callback/hipchat.py
@@ -18,6 +18,10 @@
     description:
       - This callback plugin sends status updates to a HipChat channel during playbook execution.
       - Before 2.4 only environment variables were available for configuring this plugin.
+    deprecated:
+      removed_in: 10.0.0
+      why: The hipchat service has been discontinued and the self-hosted variant has been End of Life since 2020.
+      alternative: There is none.
     options:
       token:
         description: HipChat API token for v1 or v2 API.


Test patch:
Repository: ansible-collections/community.general

Issue:
Redfish: add `MultipartHttpPushUri` boolean return value to `GetFirmwareUpdateCapabilities`
### Summary

Would like to add a new return value for boolean indication flag if `MultipartHttpPush` is supported or not based on `MultipartHttpPushUri` in the `Update` service for the `GetFirmwareUpdateCapabilities` command.


### Issue Type

Feature Idea

### Component Name

redfish_info

### Additional Information

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct
Redfish: add `MultipartHttpPushUri` boolean return value to `GetFirmwareUpdateCapabilities`
### Summary

Would like to add a new return value for boolean indication flag if `MultipartHttpPush` is supported or not based on `MultipartHttpPushUri` in the `Update` service for the `GetFirmwareUpdateCapabilities` command.


### Issue Type

Feature Idea

### Component Name

redfish_info

### Additional Information

<!--- Paste example playbooks or commands between quotes below -->
```yaml (paste below)

```


### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
Files identified in the description:
* [`plugins/modules/redfish_info.py`](https://github.com/ansible-collections/community.general/blob/main/plugins/modules/redfish_info.py)

If these files are incorrect, please update the `component name` section of the description or use the `!component` bot command.

[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: components_banner --->
cc @TSKushal @bhavya06 @jyundt @mraineri @rajeevkallur @renxulei @tomasg2012 @xmadsen
[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: notify --->
Files identified in the description:
* [`plugins/modules/redfish_info.py`](https://github.com/ansible-collections/community.general/blob/main/plugins/modules/redfish_info.py)

If these files are incorrect, please update the `component name` section of the description or use the `!component` bot command.

[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: components_banner --->
cc @TSKushal @bhavya06 @jyundt @mraineri @rajeevkallur @renxulei @tomasg2012 @xmadsen
[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: notify --->

Resolving patch:
diff --git a/plugins/module_utils/redfish_utils.py b/plugins/module_utils/redfish_utils.py
--- a/plugins/module_utils/redfish_utils.py
+++ b/plugins/module_utils/redfish_utils.py
@@ -1597,6 +1597,8 @@ def get_firmware_update_capabilities(self):
 
         data = response['data']
 
+        result['multipart_supported'] = 'MultipartHttpPushUri' in data
+
         if "Actions" in data:
             actions = data['Actions']
             if len(actions) > 0:


Test patch:
Repository: ansible-collections/community.general

Issue:
Deprecate hipchat callback
### Summary

Cloud-based Hipchat was shut down in September 2017 and the self-hosted version has been [EOL since June 2020](
https://confluence.atlassian.com/hipchatdc3/hipchat-data-center-faqs-909770945.html).

### Issue Type

Feature Idea

### Component Name

hipchat callback

### Additional Information

_No response_

### Code of Conduct

- [X] I agree to follow the Ansible Code of Conduct


Discussion:
Files identified in the description:
* [`plugins/callback/hipchat.py`](https://github.com/ansible-collections/community.general/blob/main/plugins/callback/hipchat.py)

If these files are incorrect, please update the `component name` section of the description or use the `!component` bot command.

[click here for bot help](https://github.com/ansible/ansibullbot/blob/devel/ISSUE_HELP.md)
<!--- boilerplate: components_banner --->
I created #8189 to deprecate the callback.

Resolving patch:
diff --git a/plugins/callback/hipchat.py b/plugins/callback/hipchat.py
--- a/plugins/callback/hipchat.py
+++ b/plugins/callback/hipchat.py
@@ -18,6 +18,10 @@
     description:
       - This callback plugin sends status updates to a HipChat channel during playbook execution.
       - Before 2.4 only environment variables were available for configuring this plugin.
+    deprecated:
+      removed_in: 10.0.0
+      why: The hipchat service has been discontinued and the self-hosted variant has been End of Life since 2020.
+      alternative: There is none.
     options:
       token:
         description: HipChat API token for v1 or v2 API.


Test patch:
Repository: openvinotoolkit/datumaro

Issue:
infer result passed from openvino launcher to interpreter is not appropriate.
I tried model run using openvino's mobileenet-v2-pytorch model.
(using mobilenet-v2-pytorch.xml, mobilenet-v2-pytorch.bin)

`datum model run -p proj -m model-0`

However, only the name of the layer (ex. 'prob' string) comes into the input parameters(outputs) of the interpreter. Please check the return result of OpenvinoLauncher.infer

`results = self._net.infer(inputs)` line 178, openvino_launcher.py
Debugging results are normal up to the code above, but it seems that only the name of the result layer is returned when returning and passing to interpreter.


Discussion:

Resolving patch:
diff --git a/datumaro/plugins/openvino_launcher.py b/datumaro/plugins/openvino_launcher.py
--- a/datumaro/plugins/openvino_launcher.py
+++ b/datumaro/plugins/openvino_launcher.py
@@ -177,7 +177,7 @@ def infer(self, inputs):
 
         results = self._net.infer(inputs)
         if len(results) == 1:
-            return next(iter(results))
+            return next(iter(results.values()))
         else:
             return results
 


Test patch:
Repository: openvinotoolkit/datumaro

Issue:
Support multiple image extensions with CVAT
Hello,

Currently, when using the datumaro API in python:  
`dataset.export(..., format="cvat", save_images=True, image_ext=".png")`  
will **always** output images in .jpg format.  

That is due to line 167 in datumaro/plugins/cvat_format/converter.py :  
`filename = item.id + CvatPath.IMAGE_EXT`  
CvatPath.IMAGE_EXT is ".jpg".    
Changing this line with:   
`filename = item.id + self._context._image_ext`  
fixes the issue and makes it possible to use any desired image extension while exporting a dataset.  

To be honest:  
- I do not know if this falls under bug fixing or a new feature entirely, as the current behavior might be the desired one.  
- I don't have much experience with open source projects. If my issue seems ok, should I open a merge request fixing it ?


Discussion:

Resolving patch:
diff --git a/datumaro/plugins/cvat_format/converter.py b/datumaro/plugins/cvat_format/converter.py
--- a/datumaro/plugins/cvat_format/converter.py
+++ b/datumaro/plugins/cvat_format/converter.py
@@ -164,7 +164,7 @@ def _write_item(self, item, index):
         if not self._context._reindex:
             index = cast(item.attributes.get('frame'), int, index)
         image_info = OrderedDict([ ("id", str(index)), ])
-        filename = item.id + CvatPath.IMAGE_EXT
+        filename = self._context._make_image_filename(item)
         image_info["name"] = filename
         if item.has_image:
             size = item.image.size


Test patch:
diff --git a/tests/test_cvat_format.py b/tests/test_cvat_format.py
--- a/tests/test_cvat_format.py
+++ b/tests/test_cvat_format.py
@@ -326,6 +326,10 @@ def test_can_save_and_load_image_with_arbitrary_extension(self):
             self._test_save_and_load(expected,
                 partial(CvatConverter.convert, save_images=True),
                 test_dir, require_images=True)
+            self.assertTrue(osp.isfile(
+                osp.join(test_dir, 'images', 'q', '1.JPEG')))
+            self.assertTrue(osp.isfile(
+                osp.join(test_dir, 'images', 'a', 'b', 'c', '2.bmp')))
 
     def test_preserve_frame_ids(self):
         expected_dataset = Dataset.from_iterable([
Repository: openvinotoolkit/datumaro

Issue:
CamVid format export fails when the labelmap parameter specified



Discussion:

Resolving patch:
diff --git a/datumaro/plugins/camvid_format.py b/datumaro/plugins/camvid_format.py
--- a/datumaro/plugins/camvid_format.py
+++ b/datumaro/plugins/camvid_format.py
@@ -218,6 +218,16 @@ def find_sources(cls, path):
 class CamvidConverter(Converter):
     DEFAULT_IMAGE_EXT = CamvidPath.IMAGE_EXT
 
+    @staticmethod
+    def _get_labelmap(s):
+        if osp.isfile(s):
+            return s
+        try:
+            return LabelmapType[s].name
+        except KeyError:
+            import argparse
+            raise argparse.ArgumentTypeError()
+
     @classmethod
     def build_cmdline_parser(cls, **kwargs):
         parser = super().build_cmdline_parser(**kwargs)


Test patch:
Repository: openvinotoolkit/datumaro

Issue:
CLI help usage is misleading
Recommendation of usage in cli help message is misleading.

**Steps:**
```
datum -h
```
**Expected result:**
Correct form for usage recommendation

**Current result:**
```
usage: datumaro [-h] [--version] [--loglevel LOGLEVEL]
```
``` Run 'datumaro COMMAND --help```

**Notes:**
datumaro is not correct form, and results in "command not found". The same is command specific help messages. 



Discussion:

Resolving patch:
diff --git a/datumaro/cli/__main__.py b/datumaro/cli/__main__.py
--- a/datumaro/cli/__main__.py
+++ b/datumaro/cli/__main__.py
@@ -5,6 +5,7 @@
 
 import argparse
 import logging as log
+import os.path as osp
 import sys
 
 from . import contexts, commands
@@ -50,9 +51,11 @@ def _make_subcommands_help(commands, help_line_start=0):
     return desc
 
 def make_parser():
-    parser = argparse.ArgumentParser(prog="datumaro",
+    parser = argparse.ArgumentParser(
         description="Dataset Framework",
         formatter_class=argparse.RawDescriptionHelpFormatter)
+    if parser.prog == osp.basename(__file__): # python -m datumaro ...
+        parser.prog = 'datumaro'
 
     parser.add_argument('--version', action='version', version=VERSION)
     _LogManager._define_loglevel_option(parser)


Test patch:
diff --git a/tests/requirements.py b/tests/requirements.py
--- a/tests/requirements.py
+++ b/tests/requirements.py
@@ -16,6 +16,17 @@ def test_wrapper(*args, **kwargs):
         return test_wrapper
     return wrapper
 
+def mark_bug(bugs):
+    def wrapper(test_func):
+        @pytest.mark.components(DatumaroComponent.Datumaro)
+        @pytest.mark.component
+        @pytest.mark.priority_medium
+        @pytest.mark.bugs(bugs)
+        def test_wrapper(*args, **kwargs):
+            return test_func(*args, **kwargs)
+        return test_wrapper
+    return wrapper
+
 
 class DatumaroComponent:
     Datumaro = "datumaro"
Repository: openvinotoolkit/datumaro

Issue:
Potential integer overflow
In the code below we see that `img` can be of type `uint8`, then `img` is multiplied by 2<sup>8</sup> and 2<sup>16</sup>, but `uint8` cannot store such large numbers.
https://github.com/openvinotoolkit/datumaro/blob/5209d42348b001b2f07a917d5dd7b76f3469c7ce/datumaro/util/mask_tools.py#L116-L119


Discussion:

Resolving patch:
diff --git a/datumaro/util/mask_tools.py b/datumaro/util/mask_tools.py
--- a/datumaro/util/mask_tools.py
+++ b/datumaro/util/mask_tools.py
@@ -114,8 +114,8 @@ def make_binary_mask(mask):
     return mask.astype(bool)
 
 def bgr2index(img):
-    if img.dtype.kind not in {'b', 'i', 'u'}:
-        img = img.astype(np.uint8)
+    if img.dtype.kind not in {'b', 'i', 'u'} or img.dtype.itemsize < 4:
+        img = img.astype(np.uint32)
     return (img[..., 0] << 16) + (img[..., 1] << 8) + img[..., 2]
 
 def index2bgr(id_map):


Test patch:
diff --git a/tests/assets/coco_dataset/coco_panoptic/annotations/panoptic_train.json b/tests/assets/coco_dataset/coco_panoptic/annotations/panoptic_train.json
--- a/tests/assets/coco_dataset/coco_panoptic/annotations/panoptic_train.json
+++ b/tests/assets/coco_dataset/coco_panoptic/annotations/panoptic_train.json
@@ -46,7 +46,7 @@
         "file_name":"a.png",
         "segments_info":[
           {
-            "id":7,
+            "id":460551,
             "category_id":1,
             "area":20.0,
             "bbox":[
diff --git a/tests/assets/coco_dataset/coco_panoptic/annotations/panoptic_train/a.png b/tests/assets/coco_dataset/coco_panoptic/annotations/panoptic_train/a.png
Binary files a/tests/assets/coco_dataset/coco_panoptic/annotations/panoptic_train/a.png and b/tests/assets/coco_dataset/coco_panoptic/annotations/panoptic_train/a.png differ
diff --git a/tests/test_coco_format.py b/tests/test_coco_format.py
--- a/tests/test_coco_format.py
+++ b/tests/test_coco_format.py
@@ -230,10 +230,8 @@ def test_can_import_panoptic(self):
             DatasetItem(id='a', subset='train', image=np.ones((5, 10, 3)),
                 attributes={'id': 5},
                 annotations=[
-                    Mask(np.array(
-                        [[0, 0, 1, 1, 0, 1, 1, 0, 0, 0]] * 5
-                        ), label=0,
-                        id=7, group=7, attributes={'is_crowd': False}),
+                    Mask(np.ones((5, 5)), label=0, id=460551,
+                        group=460551, attributes={'is_crowd': False}),
                 ]),
 
             DatasetItem(id='b', subset='val', image=np.ones((10, 5, 3)),