ironik.config_file_handler package
Submodules
ironik.config_file_handler.cloud_conf_parser module
- author
Jonathan Decker
- ironik.config_file_handler.cloud_conf_parser.config_ini_to_string(cloud_conf)[source]
- Parameters
cloud_conf (configparser.ConfigParser) –
- Return type
str
- ironik.config_file_handler.cloud_conf_parser.get_cloud_conf(openstack_credentials, openstack_config, subnet_id, public_network_id, router_id)[source]
- Parameters
openstack_credentials (ironik.config_file_handler.deploy_template.OpenStackCredentials) –
openstack_config (ironik.config_file_handler.deploy_template.OpenStackConfig) –
subnet_id (str) –
public_network_id (str) –
router_id (str) –
- Returns
- Return type
configparser.ConfigParser
ironik.config_file_handler.deploy_template module
Definition and functions for spawning deployment templates.
- author
Jonathan Decker
- class ironik.config_file_handler.deploy_template.DeployConfig(rancher_credentials=RancherCredentials(rancher_access_key='', rancher_secret_key=''), openstack_credentials=OpenStackCredentials(username='', password='', project_id=''), rancher_config=RancherConfig(rancher_api_base_url='', ssh_user='', new_cluster_admin_user_name='', new_cluster_admin_user_password='', engine_install_url='https://releases.rancher.com/install-docker/20.10.sh'), openstack_config=OpenStackConfig(openstack_auth_url='', user_domain_name='', project_domain_name='', lb_provider='', default_flavor_name='', default_image_name='', remote_ip_prefix='', private_network_id='', region_name='', use_octavia=False, security_group_name='ironik-k8s-node', volume_size=20), network_config=NetworkConfig(required_tcp_ports=[22, 80, 443, 2376, 2379, 2380, 6443, 8443, 8472, 9913, 10250, 10254], required_udp_ports=[8443, 8472], worker_port_range_min=30000, worker_port_range_max=32767), kubernetes_config=KubernetesConfig(master_node_roles='master, etcd, worker', worker_node_roles='worker', version='v1.24.8-rancher1-1', number_master_nodes=1, number_worker_nodes=1), deployment_options=DeploymentOptions(deploy_example_workload=False, example_workload_image='rancher/hello-world', example_workload_name='hello-world-example', deploy_nginx_workload=False, nginx_ingress_version='4.4.0', nginx_ingress_repo='https://kubernetes.github.io/ingress-nginx', nginx_ingress_app_name='nginx-ingress-lb', install_cinder_driver=False, deploy_example_volume=False, cleanup_example_workload=True, cleanup_nginx_ingress=True, cleanup_example_volume=True))[source]
Bases:
yaml.YAMLObject
Dataclass for holding together all other data classes that can be parsed in YAML.
- Parameters
rancher_credentials (ironik.config_file_handler.deploy_template.RancherCredentials) –
openstack_credentials (ironik.config_file_handler.deploy_template.OpenStackCredentials) –
rancher_config (ironik.config_file_handler.deploy_template.RancherConfig) –
openstack_config (ironik.config_file_handler.deploy_template.OpenStackConfig) –
network_config (ironik.config_file_handler.deploy_template.NetworkConfig) –
kubernetes_config (ironik.config_file_handler.deploy_template.KubernetesConfig) –
deployment_options (ironik.config_file_handler.deploy_template.DeploymentOptions) –
- Return type
None
- deployment_options: ironik.config_file_handler.deploy_template.DeploymentOptions = DeploymentOptions(deploy_example_workload=False, example_workload_image='rancher/hello-world', example_workload_name='hello-world-example', deploy_nginx_workload=False, nginx_ingress_version='4.4.0', nginx_ingress_repo='https://kubernetes.github.io/ingress-nginx', nginx_ingress_app_name='nginx-ingress-lb', install_cinder_driver=False, deploy_example_volume=False, cleanup_example_workload=True, cleanup_nginx_ingress=True, cleanup_example_volume=True)
- kubernetes_config: ironik.config_file_handler.deploy_template.KubernetesConfig = KubernetesConfig(master_node_roles='master, etcd, worker', worker_node_roles='worker', version='v1.24.8-rancher1-1', number_master_nodes=1, number_worker_nodes=1)
- network_config: ironik.config_file_handler.deploy_template.NetworkConfig = NetworkConfig(required_tcp_ports=[22, 80, 443, 2376, 2379, 2380, 6443, 8443, 8472, 9913, 10250, 10254], required_udp_ports=[8443, 8472], worker_port_range_min=30000, worker_port_range_max=32767)
- openstack_config: ironik.config_file_handler.deploy_template.OpenStackConfig = OpenStackConfig(openstack_auth_url='', user_domain_name='', project_domain_name='', lb_provider='', default_flavor_name='', default_image_name='', remote_ip_prefix='', private_network_id='', region_name='', use_octavia=False, security_group_name='ironik-k8s-node', volume_size=20)
- openstack_credentials: ironik.config_file_handler.deploy_template.OpenStackCredentials = OpenStackCredentials(username='', password='', project_id='')
- rancher_config: ironik.config_file_handler.deploy_template.RancherConfig = RancherConfig(rancher_api_base_url='', ssh_user='', new_cluster_admin_user_name='', new_cluster_admin_user_password='', engine_install_url='https://releases.rancher.com/install-docker/20.10.sh')
- rancher_credentials: ironik.config_file_handler.deploy_template.RancherCredentials = RancherCredentials(rancher_access_key='', rancher_secret_key='')
- yaml_loader
alias of
yaml.loader.SafeLoader
- yaml_tag = '!DeployConfig'
- class ironik.config_file_handler.deploy_template.DeploymentOptions(deploy_example_workload=False, example_workload_image='rancher/hello-world', example_workload_name='hello-world-example', deploy_nginx_workload=False, nginx_ingress_version='4.4.0', nginx_ingress_repo='https://kubernetes.github.io/ingress-nginx', nginx_ingress_app_name='nginx-ingress-lb', install_cinder_driver=False, deploy_example_volume=False, cleanup_example_workload=True, cleanup_nginx_ingress=True, cleanup_example_volume=True)[source]
Bases:
yaml.YAMLObject
Dataclass for deployment options that can be parsed in YAML.
- Parameters
deploy_example_workload (bool) –
example_workload_image (str) –
example_workload_name (str) –
deploy_nginx_workload (bool) –
nginx_ingress_version (str) –
nginx_ingress_repo (str) –
nginx_ingress_app_name (str) –
install_cinder_driver (bool) –
deploy_example_volume (bool) –
cleanup_example_workload (bool) –
cleanup_nginx_ingress (bool) –
cleanup_example_volume (bool) –
- Return type
None
- cleanup_example_volume: bool = True
- cleanup_example_workload: bool = True
- cleanup_nginx_ingress: bool = True
- deploy_example_volume: bool = False
- deploy_example_workload: bool = False
- deploy_nginx_workload: bool = False
- example_workload_image: str = 'rancher/hello-world'
- example_workload_name: str = 'hello-world-example'
- install_cinder_driver: bool = False
- nginx_ingress_app_name: str = 'nginx-ingress-lb'
- nginx_ingress_repo: str = 'https://kubernetes.github.io/ingress-nginx'
- nginx_ingress_version: str = '4.4.0'
- yaml_loader
alias of
yaml.loader.SafeLoader
- yaml_tag = '!DeploymentOptions'
- class ironik.config_file_handler.deploy_template.KubernetesConfig(master_node_roles='master, etcd, worker', worker_node_roles='worker', version='v1.24.8-rancher1-1', number_master_nodes=1, number_worker_nodes=1)[source]
Bases:
yaml.YAMLObject
Dataclass for Kubernetes configuration that can be parsed in YAML.
- Parameters
master_node_roles (str) –
worker_node_roles (str) –
version (str) –
number_master_nodes (int) –
number_worker_nodes (int) –
- Return type
None
- master_node_roles: str = 'master, etcd, worker'
- number_master_nodes: int = 1
- number_worker_nodes: int = 1
- version: str = 'v1.24.8-rancher1-1'
- worker_node_roles: str = 'worker'
- yaml_loader
alias of
yaml.loader.SafeLoader
- yaml_tag = '!KubernetesConfig'
- class ironik.config_file_handler.deploy_template.NetworkConfig(required_tcp_ports=<factory>, required_udp_ports=<factory>, worker_port_range_min=30000, worker_port_range_max=32767)[source]
Bases:
yaml.YAMLObject
Dataclass for network configuration that can be parsed in YAML.
- Parameters
required_tcp_ports (list[int]) –
required_udp_ports (list[int]) –
worker_port_range_min (int) –
worker_port_range_max (int) –
- Return type
None
- required_tcp_ports: list[int]
- required_udp_ports: list[int]
- worker_port_range_max: int = 32767
- worker_port_range_min: int = 30000
- yaml_loader
alias of
yaml.loader.SafeLoader
- yaml_tag = '!NetworkConfig'
- class ironik.config_file_handler.deploy_template.OpenStackConfig(openstack_auth_url, user_domain_name, project_domain_name, lb_provider, default_flavor_name, default_image_name, remote_ip_prefix, private_network_id, region_name='RegionOne', use_octavia=False, security_group_name='ironik-k8s-node', volume_size=20)[source]
Bases:
yaml.YAMLObject
Dataclass for OpenStack configuration that can be parsed in YAML.
- Parameters
openstack_auth_url (str) –
user_domain_name (str) –
project_domain_name (str) –
lb_provider (str) –
default_flavor_name (str) –
default_image_name (str) –
remote_ip_prefix (str) –
private_network_id (str) –
region_name (str) –
use_octavia (bool) –
security_group_name (str) –
volume_size (int) –
- Return type
None
- default_flavor_name: str
- default_image_name: str
- lb_provider: str
- openstack_auth_url: str
- private_network_id: str
- project_domain_name: str
- region_name: str = 'RegionOne'
- remote_ip_prefix: str
- security_group_name: str = 'ironik-k8s-node'
- use_octavia: bool = False
- user_domain_name: str
- volume_size: int = 20
- yaml_loader
alias of
yaml.loader.SafeLoader
- yaml_tag = '!OpenStackConfig'
- class ironik.config_file_handler.deploy_template.OpenStackCredentials(username, password, project_id)[source]
Bases:
yaml.YAMLObject
Dataclass for OpenStack credentials that can be parsed in YAML.
- Parameters
username (str) –
password (str) –
project_id (str) –
- Return type
None
- password: str
- project_id: str
- username: str
- yaml_loader
alias of
yaml.loader.SafeLoader
- yaml_tag = '!OpenStackCredentials'
- class ironik.config_file_handler.deploy_template.RancherConfig(rancher_api_base_url, ssh_user, new_cluster_admin_user_name, new_cluster_admin_user_password='', engine_install_url='https://releases.rancher.com/install-docker/20.10.sh')[source]
Bases:
yaml.YAMLObject
Dataclass for Rancher config that can be parsed in YAML.
- Parameters
rancher_api_base_url (str) –
ssh_user (str) –
new_cluster_admin_user_name (str) –
new_cluster_admin_user_password (str) –
engine_install_url (str) –
- Return type
None
- engine_install_url: str = 'https://releases.rancher.com/install-docker/20.10.sh'
- new_cluster_admin_user_name: str
- new_cluster_admin_user_password: str = ''
- rancher_api_base_url: str
- ssh_user: str
- yaml_loader
alias of
yaml.loader.SafeLoader
- yaml_tag = '!RancherConfig'
- class ironik.config_file_handler.deploy_template.RancherCredentials(rancher_access_key, rancher_secret_key)[source]
Bases:
yaml.YAMLObject
Dataclass for Rancher credentials that can be parsed in YAML.
- Parameters
rancher_access_key (str) –
rancher_secret_key (str) –
- Return type
None
- rancher_access_key: str
- rancher_secret_key: str
- yaml_loader
alias of
yaml.loader.SafeLoader
- yaml_tag = '!RancherCredentials'
ironik.config_file_handler.manifest_parser module
- author
Jonathan Decker
- ironik.config_file_handler.manifest_parser.get_cloud_controller_role_bindings_manifest()[source]
- Return type
dict
- ironik.config_file_handler.manifest_parser.get_cloud_controller_roles_manifest()[source]
- Return type
dict
- ironik.config_file_handler.manifest_parser.get_csi_plugin_manifest()[source]
- Return type
list[dict]
- ironik.config_file_handler.manifest_parser.get_manifest_path(manifest)[source]
- Parameters
manifest (str) –
- Return type
pathlib.Path
- ironik.config_file_handler.manifest_parser.get_openstack_controller_manager_manifest(openstack_config)[source]
- Parameters
openstack_config (ironik.config_file_handler.deploy_template.OpenStackConfig) –
- Return type
list[dict]
Returns: