[ATMOSPHERE-308] Add Ironic (#1697) (#1725)
Manual cherry-pick for stable/2023.1
Reviewed-by: Mohammed Naser <mnaser@vexxhost.com>
diff --git a/roles/ironic/vars/main.yml b/roles/ironic/vars/main.yml
new file mode 100644
index 0000000..a965b1b
--- /dev/null
+++ b/roles/ironic/vars/main.yml
@@ -0,0 +1,78 @@
+# Copyright (c) 2023 VEXXHOST, Inc.
+#
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+_ironic_helm_values:
+ endpoints: "{{ openstack_helm_endpoints }}"
+ images:
+ tags: "{{ atmosphere_images | vexxhost.atmosphere.openstack_helm_image_tags('ironic') }}"
+ bootstrap:
+ image:
+ enabled: false
+ network:
+ enabled: false
+ object_store:
+ enabled: false
+ dependencies:
+ static:
+ api:
+ jobs:
+ - ironic-db-sync
+ - ironic-ks-user
+ - ironic-ks-endpoints
+ - ironic-rabbit-init
+ # NOTE(mnaser): We're managing all the networks via Ansible.
+ # - ironic-manage-cleaning-network
+ conductor:
+ jobs:
+ - ironic-db-sync
+ - ironic-ks-user
+ - ironic-ks-endpoints
+ - ironic-rabbit-init
+ # NOTE(mnaser): We're managing all the networks via Ansible.
+ # - ironic-manage-cleaning-network
+ conf:
+ ironic:
+ DEFAULT:
+ log_config_append: null
+ enabled_network_interfaces: flat,neutron
+ default_network_interface: flat
+ conductor:
+ clean_step_priority_override: deploy.erase_devices_express:5
+ deploy_kernel: "{{ ironic_python_agent_deploy_kernel.openstack_image.id }}"
+ deploy_ramdisk: "{{ ironic_python_agent_deploy_ramdisk.openstack_image.id }}"
+ deploy:
+ erase_devices_priority: 0
+ erase_devices_metadata_priority: 0
+ neutron:
+ cleaning_network: "{{ ironic_bare_metal_network_name }}"
+ inspection_network: "{{ ironic_bare_metal_network_name }}"
+ provisioning_network: "{{ ironic_bare_metal_network_name }}"
+ rescuing_network: "{{ ironic_bare_metal_network_name }}"
+ pxe:
+ kernel_append_params: "ipa-insecure=true systemd.journald.forward_to_console=yes"
+ service_catalog:
+ valid_interfaces: public
+ pod:
+ affinity:
+ anti:
+ type:
+ conductor: requiredDuringSchedulingIgnoredDuringExecution
+ replicas:
+ api: 3
+ conductor: 3
+ manifests:
+ ingress_api: false
+ service_ingress_api: false
+ # NOTE(mnaser): We're managing all the networks via Ansible.
+ job_manage_cleaning_network: false