├── debian_build_layer.cfg ├── sysinv ├── sysinv │ ├── sysinv │ │ ├── tools │ │ │ └── __init__.py │ │ ├── sysinv │ │ │ ├── cert_mon │ │ │ │ └── __init__.py │ │ │ ├── agent │ │ │ │ ├── lldp │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── drivers │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── ovs │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ │ └── lldpd │ │ │ │ │ │ │ └── __init__.py │ │ │ │ │ └── config.py │ │ │ │ └── __init__.py │ │ │ ├── cert_alarm │ │ │ │ └── __init__.py │ │ │ ├── db │ │ │ │ ├── sqlalchemy │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── migrate_repo │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── versions │ │ │ │ │ │ ├── __init__.py │ │ │ │ │ │ ├── 030_placeholder.py │ │ │ │ │ │ ├── 070_placeholder.py │ │ │ │ │ │ ├── 099_placeholder.py │ │ │ │ │ │ ├── 100_placeholder.py │ │ │ │ │ │ ├── 101_placeholder.py │ │ │ │ │ │ ├── 102_placeholder.py │ │ │ │ │ │ ├── 103_placeholder.py │ │ │ │ │ │ ├── 046_placeholder.py │ │ │ │ │ │ ├── 047_placeholder.py │ │ │ │ │ │ ├── 048_placeholder.py │ │ │ │ │ │ ├── 049_placeholder.py │ │ │ │ │ │ ├── 003_placeholder.py │ │ │ │ │ │ ├── 004_placeholder.py │ │ │ │ │ │ ├── 005_placeholder.py │ │ │ │ │ │ ├── 006_placeholder.py │ │ │ │ │ │ ├── 007_placeholder.py │ │ │ │ │ │ ├── 008_placeholder.py │ │ │ │ │ │ ├── 009_placeholder.py │ │ │ │ │ │ ├── 010_placeholder.py │ │ │ │ │ │ ├── 011_placeholder.py │ │ │ │ │ │ ├── 012_placeholder.py │ │ │ │ │ │ ├── 013_placeholder.py │ │ │ │ │ │ ├── 014_placeholder.py │ │ │ │ │ │ ├── 015_placeholder.py │ │ │ │ │ │ ├── 016_placeholder.py │ │ │ │ │ │ ├── 017_placeholder.py │ │ │ │ │ │ ├── 018_placeholder.py │ │ │ │ │ │ ├── 019_placeholder.py │ │ │ │ │ │ ├── 020_placeholder.py │ │ │ │ │ │ ├── 021_placeholder.py │ │ │ │ │ │ ├── 022_placeholder.py │ │ │ │ │ │ ├── 023_placeholder.py │ │ │ │ │ │ ├── 024_placeholder.py │ │ │ │ │ │ ├── 025_placeholder.py │ │ │ │ │ │ ├── 026_placeholder.py │ │ │ │ │ │ ├── 027_placeholder.py │ │ │ │ │ │ ├── 028_placeholder.py │ │ │ │ │ │ ├── 029_placeholder.py │ │ │ │ │ │ ├── 137_add_host_sw_version.py │ │ │ │ │ │ ├── 088_networktype_remove.py │ │ │ │ │ │ ├── 135_nvme_host.py │ │ │ │ │ │ ├── 124_max_cpu_frequency.py │ │ │ │ │ │ ├── 128_hwsettle.py │ │ │ │ │ │ ├── 126_apparmor.py │ │ │ │ │ │ ├── 130_min_cpu_frequency_and_cstates.py │ │ │ │ │ │ ├── 139_add_host_fs_state.py │ │ │ │ │ │ ├── 074_ntp_enabled.py │ │ │ │ │ │ ├── 123_device_image_bmc.py │ │ │ │ │ │ ├── 094_sriov_vf_device.py │ │ │ │ │ │ ├── 133_apparmor_config_status.py │ │ │ │ │ │ ├── 096_ptp_interface.py │ │ │ │ │ │ ├── 115_interface_primary_reselect.py │ │ │ │ │ │ ├── 129_kernel_running.py │ │ │ │ │ │ ├── 080_kube_ceph_pool.py │ │ │ │ │ │ ├── 144_iuser_lastchange.py │ │ │ │ │ │ ├── 059_system_distributed_cloud_role.py │ │ │ │ │ │ ├── 119_device_image_retimer.py │ │ │ │ │ │ ├── 107_device_vf_attrs.py │ │ │ │ │ │ ├── 121_retimer_version.py │ │ │ │ │ │ ├── 083_ceph_mon_tasks.py │ │ │ │ │ │ ├── 079_network_column_remove.py │ │ │ │ │ │ ├── 138_host_remove_mgmt_ip.py │ │ │ │ │ │ ├── 142_drop_legacy_upgrade_tables.py │ │ │ │ │ │ ├── 085_sriov_vf_driver.py │ │ │ │ │ │ ├── 140_add_hostfs_and_controllerfs_capabilities.py │ │ │ │ │ │ ├── 078_interface_class.py │ │ │ │ │ │ ├── 131_kube_upgrade_add_recovery_attempts.py │ │ │ │ │ │ └── 033_iuser_wrsrootpw_aging.py │ │ │ │ │ │ └── manage.py │ │ │ │ └── __init__.py │ │ │ ├── ipsec_auth │ │ │ │ ├── __init__.py │ │ │ │ ├── client │ │ │ │ │ └── __init__.py │ │ │ │ ├── common │ │ │ │ │ └── __init__.py │ │ │ │ └── server │ │ │ │ │ └── __init__.py │ │ │ ├── openstack │ │ │ │ ├── __init__.py │ │ │ │ └── common │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── notifier │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── no_op_notifier.py │ │ │ │ │ └── test_notifier.py │ │ │ ├── tests │ │ │ │ ├── api │ │ │ │ │ ├── data │ │ │ │ │ │ ├── bootimage.iso │ │ │ │ │ │ ├── bitstream.bit │ │ │ │ │ │ └── bootimage.sig │ │ │ │ │ └── __init__.py │ │ │ │ ├── conductor │ │ │ │ │ ├── data │ │ │ │ │ │ ├── bootimage.iso │ │ │ │ │ │ ├── bootimage.sig │ │ │ │ │ │ ├── metadata.xml │ │ │ │ │ │ ├── metadata_mutual_cyclic_dependency.yaml │ │ │ │ │ │ ├── metadata_multiple_dependencies.yaml │ │ │ │ │ │ └── metadata_indirect_cyclic_dependency.yaml │ │ │ │ │ └── __init__.py │ │ │ │ ├── common │ │ │ │ │ ├── data │ │ │ │ │ │ ├── simple_jinja_template.yaml.j2 │ │ │ │ │ │ ├── jinja_template_with_values.yaml.j2 │ │ │ │ │ │ ├── jinja_template_with_custom_filters.yaml.j2 │ │ │ │ │ │ ├── sample_metadata.yaml │ │ │ │ │ │ ├── sample_metadata_without_k8s_minimum_version.yaml │ │ │ │ │ │ ├── sample_metadata_app_class.yaml │ │ │ │ │ │ ├── sample_metadata_repo.yaml │ │ │ │ │ │ ├── sample_metadata_k8s_upgrades.yaml │ │ │ │ │ │ ├── sample_metadata_k8s_versions.yaml │ │ │ │ │ │ ├── sample_metadata_supported_releases.yaml │ │ │ │ │ │ ├── sample_metadata_upgrades.yaml │ │ │ │ │ │ ├── sample_metadata_dependent_apps.yaml │ │ │ │ │ │ └── sample_metadata_behavior.yaml │ │ │ │ │ └── __init__.py │ │ │ │ ├── agent │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── lldp_data │ │ │ │ │ │ └── 1.0.11 │ │ │ │ │ │ └── lldp_show_neighbor_summary.json │ │ │ │ ├── cert_mon │ │ │ │ │ └── __init__.py │ │ │ │ ├── helm │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── fluxcd-test-manifest │ │ │ │ │ │ ├── release1 │ │ │ │ │ │ ├── release1-static-overrides.yaml │ │ │ │ │ │ ├── release1-system-overrides.yaml │ │ │ │ │ │ ├── kustomization.yaml │ │ │ │ │ │ └── helmrelease.yaml │ │ │ │ │ │ ├── release2 │ │ │ │ │ │ ├── release2-static-overrides.yaml │ │ │ │ │ │ ├── release2-system-overrides.yaml │ │ │ │ │ │ └── kustomization.yaml │ │ │ │ │ │ ├── release3 │ │ │ │ │ │ ├── release3-static-overrides.yaml │ │ │ │ │ │ ├── release3-system-overrides.yaml │ │ │ │ │ │ └── kustomization.yaml │ │ │ │ │ │ ├── base │ │ │ │ │ │ ├── kustomization.yaml │ │ │ │ │ │ ├── namespace.yaml │ │ │ │ │ │ └── helmrepository.yaml │ │ │ │ │ │ └── kustomization.yaml │ │ │ │ ├── puppet │ │ │ │ │ └── __init__.py │ │ │ │ ├── cert_alarm │ │ │ │ │ └── __init__.py │ │ │ │ ├── loads │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── test_base.py │ │ │ │ ├── openstack │ │ │ │ │ ├── __init__.py │ │ │ │ │ └── common │ │ │ │ │ │ └── __init__.py │ │ │ │ ├── db │ │ │ │ │ ├── sqlalchemy │ │ │ │ │ │ ├── test_migrations.conf │ │ │ │ │ │ └── __init__.py │ │ │ │ │ └── __init__.py │ │ │ │ ├── policy.yaml │ │ │ │ ├── objects │ │ │ │ │ └── __init__.py │ │ │ │ └── fake_policy.py │ │ │ ├── zmq_rpc │ │ │ │ └── __init__.py │ │ │ ├── loads │ │ │ │ ├── __init__.py │ │ │ │ ├── base.py │ │ │ │ └── loads.py │ │ │ ├── helm │ │ │ │ ├── __init__.py │ │ │ │ └── kustomize_generic.py │ │ │ ├── puppet │ │ │ │ └── __init__.py │ │ │ ├── objects │ │ │ │ ├── runtime_config.py │ │ │ │ ├── kube_cmd_version.py │ │ │ │ ├── storage_ceph_rook.py │ │ │ │ ├── interface_virtual.py │ │ │ │ ├── ptp_instance_map.py │ │ │ │ ├── storage_file.py │ │ │ │ ├── storage_lvm.py │ │ │ │ ├── storage_external.py │ │ │ │ ├── ptp_interface_map.py │ │ │ │ ├── service.py │ │ │ │ ├── kube_app_bundle.py │ │ │ │ ├── interface_ethernet.py │ │ │ │ ├── tpmconfig.py │ │ │ │ ├── interface_vlan.py │ │ │ │ ├── ptp_paramownership.py │ │ │ │ └── interface_vf.py │ │ │ ├── sanity_coverage.py │ │ │ ├── __init__.py │ │ │ ├── common │ │ │ │ ├── __init__.py │ │ │ │ └── configp.py │ │ │ ├── api │ │ │ │ └── controllers │ │ │ │ │ ├── v1 │ │ │ │ │ └── flux.py │ │ │ │ │ └── __init__.py │ │ │ ├── _i18n.py │ │ │ ├── conductor │ │ │ │ └── __init__.py │ │ │ └── cmd │ │ │ │ └── __init__.py │ │ ├── babel.cfg │ │ ├── .stestr.conf │ │ ├── README.rst │ │ ├── doc │ │ │ └── source │ │ │ │ ├── _theme │ │ │ │ └── theme.conf │ │ │ │ ├── _static │ │ │ │ ├── header_bg.jpg │ │ │ │ ├── header-line.gif │ │ │ │ └── openstack_logo.png │ │ │ │ └── dev │ │ │ │ ├── drivers.rst │ │ │ │ ├── cmd.rst │ │ │ │ ├── api.rst │ │ │ │ ├── conductor.rst │ │ │ │ ├── db.rst │ │ │ │ └── common.rst │ │ ├── .coveragerc │ │ ├── upper-constraints.txt │ │ ├── .eggs │ │ │ └── README.txt │ │ ├── etc │ │ │ └── sysinv │ │ │ │ ├── rootwrap.d │ │ │ │ ├── sysinv-images.filters │ │ │ │ ├── sysinv-manage-ipmi.filters │ │ │ │ └── sysinv-deploy-helper.filters │ │ │ │ ├── motd-system │ │ │ │ ├── sysinv.conf │ │ │ │ └── cgcssys_init │ │ ├── openstack-common.conf │ │ ├── .gitignore │ │ ├── scripts │ │ │ ├── sysinv-api.service │ │ │ ├── sysinv-conductor.service │ │ │ └── check-ipsec-luks-dir.sh │ │ ├── CONTRIBUTING.rst │ │ ├── test-requirements.txt │ │ ├── contrib │ │ │ └── redhat-eventlet.patch │ │ └── MANIFEST.in │ ├── debian │ │ ├── deb_folder │ │ │ ├── source │ │ │ │ ├── format │ │ │ │ └── options │ │ │ ├── tmpfiles.conf │ │ │ ├── sysinv.dirs │ │ │ ├── changelog │ │ │ ├── sysinv-api.service │ │ │ └── sysinv-conductor.service │ │ └── meta_data.yaml │ ├── .gitignore │ └── PKG-INFO ├── cgts-client │ ├── cgts-client │ │ ├── README.rst │ │ ├── cgtsclient │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── v1 │ │ │ │ │ └── __init__.py │ │ │ ├── common │ │ │ │ └── __init__.py │ │ │ ├── v1 │ │ │ │ ├── restore_shell.py │ │ │ │ ├── flux.py │ │ │ │ ├── device_image_state.py │ │ │ │ ├── restore.py │ │ │ │ ├── kube_config_kubelet.py │ │ │ │ ├── kube_cmd_version.py │ │ │ │ ├── __init__.py │ │ │ │ ├── license.py │ │ │ │ ├── kube_config_kubelet_shell.py │ │ │ │ ├── fernet.py │ │ │ │ └── lldp_agent.py │ │ │ ├── _i18n.py │ │ │ └── __init__.py │ │ ├── .gitignore │ │ ├── .stestr.conf │ │ ├── .coveragerc │ │ ├── requirements.txt │ │ ├── test-requirements.txt │ │ ├── setup.cfg │ │ └── setup.py │ ├── debian │ │ ├── deb_folder │ │ │ ├── source │ │ │ │ ├── format │ │ │ │ └── options │ │ │ ├── cgts-client.dirs │ │ │ ├── cgts-client.install │ │ │ ├── changelog │ │ │ └── rules │ │ └── meta_data.yaml │ ├── .gitignore │ └── PKG-INFO ├── cert-mon │ ├── debian │ │ ├── deb_folder │ │ │ ├── source │ │ │ │ └── format │ │ │ ├── cert-mon.dirs │ │ │ ├── cert-mon.install │ │ │ ├── changelog │ │ │ ├── control │ │ │ └── rules │ │ └── meta_data.yaml │ └── files │ │ ├── cert-mon.syslog │ │ ├── cert-mon.logrotate │ │ └── cert-mon.service ├── cert-alarm │ ├── debian │ │ ├── deb_folder │ │ │ ├── source │ │ │ │ └── format │ │ │ ├── files │ │ │ ├── cert-alarm.dirs │ │ │ ├── changelog │ │ │ ├── cert-alarm.install │ │ │ ├── control │ │ │ └── rules │ │ └── meta_data.yaml │ └── files │ │ ├── cert-alarm.syslog │ │ ├── cert-alarm.logrotate │ │ └── cert-alarm.service ├── ipsec-auth │ ├── debian │ │ ├── deb_folder │ │ │ ├── source │ │ │ │ └── format │ │ │ ├── ipsec-auth.dirs │ │ │ ├── changelog │ │ │ ├── ipsec-auth.install │ │ │ ├── control │ │ │ └── rules │ │ └── meta_data.yaml │ └── files │ │ ├── usr.sbin.swanctl │ │ ├── usr.lib.ipsec.charon │ │ ├── ipsec-auth.logrotate │ │ ├── ipsec-auth.syslog │ │ └── ipsec-server.service └── sysinv-agent │ ├── debian │ ├── deb_folder │ │ ├── source │ │ │ └── format │ │ ├── sysinv-agent.postrm │ │ ├── sysinv-agent.dirs │ │ ├── sysinv-agent.install │ │ ├── changelog │ │ ├── control │ │ ├── sysinv-agent.service │ │ └── rules │ └── meta_data.yaml │ ├── .gitignore │ ├── PKG-INFO │ ├── sysinv-agent.service │ └── sysinv-agent.conf ├── tsconfig ├── tsconfig │ ├── tsconfig │ │ ├── tests │ │ │ └── __init__.py │ │ └── __init__.py │ ├── .stestr.conf │ ├── .coveragerc │ ├── requirements.txt │ ├── setup.py │ ├── test-requirements.txt │ └── setup.cfg ├── debian │ ├── deb_folder │ │ ├── source │ │ │ ├── format │ │ │ └── options │ │ ├── tsconfig.install │ │ ├── changelog │ │ └── rules │ └── meta_data.yaml ├── .gitignore └── PKG-INFO ├── config-gate ├── debian │ ├── deb_folder │ │ ├── source │ │ │ └── format │ │ ├── config-gate-worker.dirs │ │ ├── config-gate.install │ │ ├── config-gate-worker.install │ │ ├── changelog │ │ ├── rules │ │ └── control │ └── meta_data.yaml ├── PKG-INFO └── files │ ├── worker-config-gate.service │ ├── config.service │ ├── Makefile │ └── wait_for_worker_config_init.sh ├── storageconfig ├── debian │ ├── deb_folder │ │ ├── source │ │ │ └── format │ │ ├── storageconfig.dirs │ │ ├── storageconfig.install │ │ ├── changelog │ │ ├── control │ │ ├── storageconfig.service │ │ └── rules │ └── meta_data.yaml ├── .gitignore ├── PKG-INFO └── storageconfig │ ├── storageconfig.service │ ├── config_goenabled_check.sh │ └── Makefile ├── workerconfig ├── debian │ ├── deb_folder │ │ ├── source │ │ │ └── format │ │ ├── workerconfig-standalone.dirs │ │ ├── workerconfig-standalone.install │ │ ├── changelog │ │ ├── control │ │ ├── rules │ │ └── workerconfig-standalone.workerconfig.service │ └── meta_data.yaml ├── .gitignore ├── PKG-INFO └── workerconfig │ ├── config_goenabled_check.sh │ ├── Makefile │ └── workerconfig.service ├── controllerconfig ├── debian │ ├── deb_folder │ │ ├── source │ │ │ ├── format │ │ │ └── options │ │ ├── controllerconfig.dirs │ │ ├── controllerconfig.install │ │ ├── changelog │ │ ├── controllerconfig.lintian-overrides │ │ └── controllerconfig.service │ └── meta_data.yaml ├── controllerconfig │ ├── .gitignore │ ├── .stestr.conf │ ├── controllerconfig │ │ ├── tests │ │ │ └── __init__.py │ │ ├── common │ │ │ ├── __init__.py │ │ │ └── oslolog.py │ │ └── __init__.py │ ├── .coveragerc │ ├── .testr.conf │ ├── requirements.txt │ ├── scripts │ │ ├── sysinv-service-restart.sh │ │ ├── controllerconfig.service │ │ └── config_goenabled_check.sh │ ├── test-requirements.txt │ └── setup.py ├── .gitignore └── PKG-INFO ├── debian_stable_wheels.inc ├── .gitreview ├── tools └── docker │ └── images │ ├── Dockerfile │ └── Readme.rst ├── releasenotes └── source │ ├── unreleased.rst │ └── index.rst ├── devstack └── override-defaults ├── .yamllint ├── test-requirements.txt ├── doc ├── requirements.txt └── source │ └── index.rst ├── debian_pkg_dirs ├── bindep.txt ├── api-ref └── source │ └── index.rst ├── .gitignore ├── debian_iso_image.inc ├── CONTRIBUTORS.wrs └── README.rst /debian_build_layer.cfg: -------------------------------------------------------------------------------- 1 | flock 2 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/tools/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/README.rst: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/cert_mon/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tsconfig/tsconfig/tsconfig/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/agent/lldp/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/cert_alarm/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/ipsec_auth/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/openstack/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/babel.cfg: -------------------------------------------------------------------------------- 1 | [python: **.py] 2 | 3 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/agent/lldp/drivers/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/ipsec_auth/client/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/ipsec_auth/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/ipsec_auth/server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/openstack/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tsconfig/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /config-gate/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /storageconfig/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (native) 2 | -------------------------------------------------------------------------------- /sysinv/cert-mon/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/tests/v1/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/agent/lldp/drivers/ovs/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/api/data/bootimage.iso: -------------------------------------------------------------------------------- 1 | It'S Ok -------------------------------------------------------------------------------- /workerconfig/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /controllerconfig/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /sysinv/cgts-client/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/deb_folder/source/format: -------------------------------------------------------------------------------- 1 | 3.0 (quilt) 2 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/agent/lldp/drivers/lldpd/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/api/data/bitstream.bit: -------------------------------------------------------------------------------- 1 | 123456789 2 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/api/data/bootimage.sig: -------------------------------------------------------------------------------- 1 | Simple Is Good -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/conductor/data/bootimage.iso: -------------------------------------------------------------------------------- 1 | It'S Ok -------------------------------------------------------------------------------- /tsconfig/tsconfig/.stestr.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | test_path=tsconfig/tests 3 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/conductor/data/bootimage.sig: -------------------------------------------------------------------------------- 1 | Simple Is Good -------------------------------------------------------------------------------- /debian_stable_wheels.inc: -------------------------------------------------------------------------------- 1 | tsconfig-wheel 2 | cgts-client-wheel 3 | sysinv-wheels 4 | -------------------------------------------------------------------------------- /config-gate/debian/deb_folder/config-gate-worker.dirs: -------------------------------------------------------------------------------- 1 | usr/bin 2 | lib/systemd/system 3 | -------------------------------------------------------------------------------- /storageconfig/debian/deb_folder/storageconfig.dirs: -------------------------------------------------------------------------------- 1 | etc/init.d 2 | etc/goenabled.d 3 | -------------------------------------------------------------------------------- /sysinv/sysinv/debian/deb_folder/tmpfiles.conf: -------------------------------------------------------------------------------- 1 | d /var/stx_app/plugins 755 root root 2 | -------------------------------------------------------------------------------- /tsconfig/debian/deb_folder/source/options: -------------------------------------------------------------------------------- 1 | extend-diff-ignore = "^[^/]*[.]egg-info/" 2 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/debian/deb_folder/files: -------------------------------------------------------------------------------- 1 | cert-alarm_1.0_source.buildinfo admin optional 2 | -------------------------------------------------------------------------------- /sysinv/sysinv/debian/deb_folder/source/options: -------------------------------------------------------------------------------- 1 | extend-diff-ignore = "^[^/]*[.]egg-info/" 2 | -------------------------------------------------------------------------------- /controllerconfig/debian/deb_folder/source/options: -------------------------------------------------------------------------------- 1 | extend-diff-ignore = "^[^/]*[.]egg-info/" 2 | -------------------------------------------------------------------------------- /sysinv/cgts-client/debian/deb_folder/cgts-client.dirs: -------------------------------------------------------------------------------- 1 | usr/share/bash-completion/completions 2 | -------------------------------------------------------------------------------- /sysinv/cgts-client/debian/deb_folder/source/options: -------------------------------------------------------------------------------- 1 | extend-diff-ignore = "^[^/]*[.]egg-info/" 2 | -------------------------------------------------------------------------------- /workerconfig/debian/deb_folder/workerconfig-standalone.dirs: -------------------------------------------------------------------------------- 1 | etc/init.d 2 | etc/goenabled.d 3 | -------------------------------------------------------------------------------- /.gitreview: -------------------------------------------------------------------------------- 1 | [gerrit] 2 | host=review.opendev.org 3 | port=29418 4 | project=starlingx/config.git 5 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/deb_folder/sysinv-agent.postrm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -e 3 | 4 | #DEBHELPER# 5 | -------------------------------------------------------------------------------- /storageconfig/debian/deb_folder/storageconfig.install: -------------------------------------------------------------------------------- 1 | etc/init.d/storage_config 2 | etc/goenabled.d/* 3 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/simple_jinja_template.yaml.j2: -------------------------------------------------------------------------------- 1 | --- 2 | fake_field: "fake_value" 3 | -------------------------------------------------------------------------------- /tools/docker/images/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM centos 2 | RUN yum install -y nc 3 | ENTRYPOINT ["nc"] 4 | CMD ["nc"] 5 | -------------------------------------------------------------------------------- /tsconfig/debian/deb_folder/tsconfig.install: -------------------------------------------------------------------------------- 1 | scripts/tsconfig usr/bin 2 | /usr/lib/python*/dist-packages/* 3 | -------------------------------------------------------------------------------- /workerconfig/debian/deb_folder/workerconfig-standalone.install: -------------------------------------------------------------------------------- 1 | etc/init.d/worker_config 2 | etc/goenabled.d/* 3 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | .coverage 3 | .testrepository 4 | cover 5 | .cache 6 | 7 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/.gitignore: -------------------------------------------------------------------------------- 1 | .stestr 2 | .testrepository 3 | coverage.xml 4 | .coverage 5 | cover 6 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/.stestr.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | test_path=./cgtsclient/tests 3 | top_dir=./cgtsclient 4 | -------------------------------------------------------------------------------- /sysinv/cgts-client/debian/deb_folder/cgts-client.install: -------------------------------------------------------------------------------- 1 | usr/share/bash-completion/completions/system.bash 2 | usr 3 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/jinja_template_with_values.yaml.j2: -------------------------------------------------------------------------------- 1 | --- 2 | fake_field: "{{ value }}" 3 | -------------------------------------------------------------------------------- /sysinv/cert-mon/debian/deb_folder/cert-mon.dirs: -------------------------------------------------------------------------------- 1 | usr/lib/ocf/resource.d 2 | etc/syslog-ng/conf.d 3 | etc/logrotate.d 4 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/.stestr.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | test_path=./sysinv/tests 3 | top_dir=./sysinv 4 | #parallel_class=True 5 | -------------------------------------------------------------------------------- /config-gate/debian/deb_folder/config-gate.install: -------------------------------------------------------------------------------- 1 | usr/sbin/wait_for_config_init.sh 2 | lib/systemd/system/config.service 3 | -------------------------------------------------------------------------------- /controllerconfig/debian/deb_folder/controllerconfig.dirs: -------------------------------------------------------------------------------- 1 | etc/init.d 2 | etc/goenabled.d 3 | usr/sbin 4 | lib/systemd/system 5 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/deb_folder/sysinv-agent.dirs: -------------------------------------------------------------------------------- 1 | etc/init.d 2 | lib/systemd/system 3 | var/local/share/applications 4 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/.stestr.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | test_path=./controllerconfig/tests 3 | top_dir=./controllerconfig 4 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/deb_folder/sysinv-agent.install: -------------------------------------------------------------------------------- 1 | etc/init.d/sysinv-agent 2 | usr/share/starlingx/pmon.d/sysinv-agent.conf 3 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/README.rst: -------------------------------------------------------------------------------- 1 | Placeholder to allow setup.py to work. 2 | Removing this requires modifying the 3 | setup.py manifest. 4 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/_theme/theme.conf: -------------------------------------------------------------------------------- 1 | [theme] 2 | inherit = basic 3 | stylesheet = nature.css 4 | pygments_style = tango 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/debian/deb_folder/sysinv.dirs: -------------------------------------------------------------------------------- 1 | usr/bin 2 | etc/goenabled.d 3 | etc/sysinv 4 | usr/lib/ocf/resource.d 5 | usr/lib/tmpfiles.d 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/jinja_template_with_custom_filters.yaml.j2: -------------------------------------------------------------------------------- 1 | --- 2 | fake_field: "{{ value | fake_filter }}" 3 | -------------------------------------------------------------------------------- /tools/docker/images/Readme.rst: -------------------------------------------------------------------------------- 1 | export VERSION=v1.0.0 2 | sudo docker build \ 3 | --network host \ 4 | -t netcat:${VERSION} \ 5 | . 6 | -------------------------------------------------------------------------------- /controllerconfig/debian/deb_folder/controllerconfig.install: -------------------------------------------------------------------------------- 1 | usr/bin/* 2 | etc/goenabled.d/* 3 | usr/lib/python*/dist-packages/* 4 | etc/init.d/* 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/zmq_rpc/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2022 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | -------------------------------------------------------------------------------- /config-gate/debian/deb_folder/config-gate-worker.install: -------------------------------------------------------------------------------- 1 | lib/systemd/system/worker-config-gate.service 2 | usr/sbin/wait_for_worker_config_init.sh 3 | -------------------------------------------------------------------------------- /tsconfig/tsconfig/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | branch = True 3 | source = tsconfig 4 | omit = tsconfig/tests/* 5 | 6 | [report] 7 | ignore_errors = True 8 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | branch = True 3 | source = sysinv 4 | omit = sysinv/tests/* 5 | 6 | [report] 7 | ignore_errors = True 8 | 9 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/_static/header_bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starlingx/config/HEAD/sysinv/sysinv/sysinv/doc/source/_static/header_bg.jpg -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/loads/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/agent/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2020 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/cert_mon/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2020 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2019 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/puppet/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /tsconfig/tsconfig/tsconfig/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | Copyright (c) 2014-2021 Wind River Systems, Inc. 3 | 4 | SPDX-License-Identifier: Apache-2.0 5 | 6 | """ 7 | -------------------------------------------------------------------------------- /releasenotes/source/unreleased.rst: -------------------------------------------------------------------------------- 1 | ============================ 2 | Current Series Release Notes 3 | ============================ 4 | 5 | .. release-notes:: 6 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/debian/deb_folder/cert-alarm.dirs: -------------------------------------------------------------------------------- 1 | etc/init.d 2 | etc/logrotate.d 3 | etc/syslog-ng/conf.d 4 | lib/systemd/system 5 | usr/lib/ocf/resource.d 6 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/files/usr.sbin.swanctl: -------------------------------------------------------------------------------- 1 | owner /var/log/charon.log a, 2 | # Allow reading of certificate and key files 3 | /var/luks/stx/luks_fs/ipsec/** r, 4 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/_static/header-line.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starlingx/config/HEAD/sysinv/sysinv/sysinv/doc/source/_static/header-line.gif -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/cert_alarm/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2021 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/loads/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/openstack/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2021 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/_static/openstack_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/starlingx/config/HEAD/sysinv/sysinv/sysinv/doc/source/_static/openstack_logo.png -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/openstack/common/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2021 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /devstack/override-defaults: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | # Copyright (C) 2019 Intel Corporation 6 | # 7 | # Plug-in overrides 8 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | branch = True 3 | source = cgtsclient 4 | omit = cgtsclient/tests/* 5 | 6 | [report] 7 | ignore_errors = True 8 | 9 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/common/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013-2017 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | supported_k8s_version: 5 | minimum: 'v1.2.3' 6 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/controllerconfig/tests/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2021 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/debian/deb_folder/ipsec-auth.dirs: -------------------------------------------------------------------------------- 1 | usr/lib/ocf/resource.d/platform 2 | lib/systemd/system 3 | etc/syslog-ng/conf.d 4 | etc/logrotate.d 5 | etc/apparmor.d 6 | -------------------------------------------------------------------------------- /.yamllint: -------------------------------------------------------------------------------- 1 | --- 2 | extends: default 3 | 4 | rules: 5 | # 80 chars should be enough, but don't fail if a line is longer 6 | line-length: 7 | max: 200 8 | level: warning 9 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/.coveragerc: -------------------------------------------------------------------------------- 1 | [run] 2 | branch = True 3 | source = controllerconfig 4 | omit = controllerconfig/tests/* 5 | 6 | [report] 7 | ignore_errors = True 8 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/controllerconfig/common/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2015 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2013-2016 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_without_k8s_minimum_version.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | maintain_user_overrides: true 5 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2013-2016 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/upper-constraints.txt: -------------------------------------------------------------------------------- 1 | # Override upstream constraints based on StarlingX load 2 | iso8601==0.1.11 3 | openstacksdk==0.25.0 4 | os-client-config==1.28.0 5 | paramiko==2.1.1 6 | -------------------------------------------------------------------------------- /test-requirements.txt: -------------------------------------------------------------------------------- 1 | hacking>=1.1.0,<=2.0.0 # Apache-2.0 2 | bashate >= 0.2 3 | PyYAML >= 3.1.0 4 | shellcheck-py;python_version>="3.0" # MIT 5 | yamllint<1.26.1;python_version>="3.0" # GPLv2 6 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/files/usr.lib.ipsec.charon: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | /usr/bin/bash mrix, 4 | /usr/sbin/swanctl px, 5 | owner /usr/sbin/swanctl r, 6 | owner /var/log/charon.log w, 7 | -------------------------------------------------------------------------------- /sysinv/sysinv/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | sysinv (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Chuck Short Wed, 18 Aug 2021 13:41:30 +0000 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_app_class.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | supported_k8s_version: 5 | minimum: 'v1.2.3' 6 | class: critical 7 | -------------------------------------------------------------------------------- /tsconfig/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | tsconfig (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Chuck Short Sun, 08 Aug 2021 12:14:46 -0400 6 | -------------------------------------------------------------------------------- /config-gate/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | config-gate (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Chuck Short Sun, 08 Aug 2021 00:50:09 +0000 6 | -------------------------------------------------------------------------------- /sysinv/cert-mon/debian/deb_folder/cert-mon.install: -------------------------------------------------------------------------------- 1 | usr/lib/ocf/resource.d/platform/cert-mon 2 | lib/systemd/system/cert-mon.service 3 | etc/syslog-ng/conf.d/cert-mon.conf 4 | etc/logrotate.d/cert-mon.conf 5 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | ipsec-auth (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Andy Ning Thu, 30 Nov 2023 02:29:34 +0000 6 | -------------------------------------------------------------------------------- /workerconfig/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | workerconfig (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Chuck Short Sun, 08 Aug 2021 06:05:31 -0400 6 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | cert-alarm (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Charles Short Tue, 24 Aug 2021 17:20:49 +0000 6 | -------------------------------------------------------------------------------- /sysinv/cert-mon/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | cert-mon (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Charles Short Tue, 24 Aug 2021 13:49:22 -0400 6 | -------------------------------------------------------------------------------- /sysinv/cgts-client/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | cgts-client (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Chuck Short Wed, 18 Aug 2021 13:13:56 -0400 6 | -------------------------------------------------------------------------------- /controllerconfig/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | controllerconfig (1.0-1) unstable; urgency=medium 2 | 3 | * Initial release. 4 | 5 | -- Chuck Short Sun, 08 Aug 2021 16:22:25 -0400 6 | -------------------------------------------------------------------------------- /controllerconfig/debian/deb_folder/controllerconfig.lintian-overrides: -------------------------------------------------------------------------------- 1 | init.d-script-does-not-implement-required-option 2 | init.d-script-missing-dependency-on-local_fs 3 | omitted-systemd-service-for-init.d-script 4 | -------------------------------------------------------------------------------- /doc/requirements.txt: -------------------------------------------------------------------------------- 1 | sphinx>=2.0.0,!=2.1.0 # BSD 2 | openstackdocstheme>=2.2.1 # Apache-2.0 3 | 4 | # Release Notes 5 | reno>=3.1.0 # Apache-2.0 6 | 7 | # API Reference Guide 8 | os-api-ref>=1.4.0 # Apache-2.0 9 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release1/release1-static-overrides.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release1/release1-system-overrides.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release2/release2-static-overrides.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release2/release2-system-overrides.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release3/release3-static-overrides.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release3/release3-system-overrides.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | -------------------------------------------------------------------------------- /releasenotes/source/index.rst: -------------------------------------------------------------------------------- 1 | ===================================== 2 | StarlingX Configuration Release Notes 3 | ===================================== 4 | 5 | .. toctree:: 6 | :maxdepth: 2 7 | 8 | unreleased 9 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/debian/deb_folder/cert-alarm.install: -------------------------------------------------------------------------------- 1 | etc/logrotate.d/cert-alarm.conf 2 | etc/syslog-ng/conf.d/cert-alarm.conf 3 | lib/systemd/system/cert-alarm.service 4 | usr/lib/ocf/resource.d/platform/cert-alarm 5 | -------------------------------------------------------------------------------- /tsconfig/.gitignore: -------------------------------------------------------------------------------- 1 | !.distro 2 | .distro/centos7/rpmbuild/RPMS 3 | .distro/centos7/rpmbuild/SRPMS 4 | .distro/centos7/rpmbuild/BUILD 5 | .distro/centos7/rpmbuild/BUILDROOT 6 | .distro/centos7/rpmbuild/SOURCES/tsconfig*tar.gz 7 | -------------------------------------------------------------------------------- /storageconfig/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | storageconfig (1.0) unstable; urgency=medium 2 | 3 | * Initial Release. 4 | 5 | -- Fabricio Henrique Ramos Fri, 03 Sep 2021 20:41:12 +0000 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/.gitignore: -------------------------------------------------------------------------------- 1 | !.distro 2 | .distro/centos7/rpmbuild/RPMS 3 | .distro/centos7/rpmbuild/SRPMS 4 | .distro/centos7/rpmbuild/BUILD 5 | .distro/centos7/rpmbuild/BUILDROOT 6 | .distro/centos7/rpmbuild/SOURCES/sysinv*tar.gz 7 | -------------------------------------------------------------------------------- /storageconfig/.gitignore: -------------------------------------------------------------------------------- 1 | !.distro 2 | .distro/centos7/rpmbuild/RPMS 3 | .distro/centos7/rpmbuild/SRPMS 4 | .distro/centos7/rpmbuild/BUILD 5 | .distro/centos7/rpmbuild/BUILDROOT 6 | .distro/centos7/rpmbuild/SOURCES/storageconfig*tar.gz 7 | -------------------------------------------------------------------------------- /sysinv/cert-mon/files/cert-mon.syslog: -------------------------------------------------------------------------------- 1 | filter f_certmon { facility(local6) and program(cert-mon); }; 2 | destination d_certmon { file("/var/log/cert-mon.log"); }; 3 | log { source(s_src); filter(f_certmon); destination(d_certmon); }; 4 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/deb_folder/changelog: -------------------------------------------------------------------------------- 1 | sysinv-agent (1.0-1) unstable; urgency=medium 2 | 3 | * Initial Release. 4 | 5 | -- Fabricio Henrique Ramos Tue, 24 Aug 2021 11:40:50 -0300 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_repo.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | maintain_user_overrides: true 5 | supported_k8s_version: 6 | minimum: 'v1.2.3' 7 | repo: 'stx-platform' 8 | -------------------------------------------------------------------------------- /workerconfig/.gitignore: -------------------------------------------------------------------------------- 1 | !.distro 2 | .distro/centos7/rpmbuild/RPMS 3 | .distro/centos7/rpmbuild/SRPMS 4 | .distro/centos7/rpmbuild/BUILD 5 | .distro/centos7/rpmbuild/BUILDROOT 6 | .distro/centos7/rpmbuild/SOURCES/workerconfig*tar.gz 7 | -------------------------------------------------------------------------------- /debian_pkg_dirs: -------------------------------------------------------------------------------- 1 | controllerconfig 2 | sysinv/cgts-client 3 | sysinv/sysinv 4 | tsconfig 5 | config-gate 6 | workerconfig 7 | storageconfig 8 | sysinv/cert-mon 9 | sysinv/cert-alarm 10 | sysinv/sysinv-agent 11 | sysinv/ipsec-auth 12 | -------------------------------------------------------------------------------- /sysinv/cgts-client/.gitignore: -------------------------------------------------------------------------------- 1 | !.distro 2 | .distro/centos7/rpmbuild/RPMS 3 | .distro/centos7/rpmbuild/SRPMS 4 | .distro/centos7/rpmbuild/BUILD 5 | .distro/centos7/rpmbuild/BUILDROOT 6 | .distro/centos7/rpmbuild/SOURCES/cgts-client*tar.gz 7 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/.gitignore: -------------------------------------------------------------------------------- 1 | !.distro 2 | .distro/centos7/rpmbuild/RPMS 3 | .distro/centos7/rpmbuild/SRPMS 4 | .distro/centos7/rpmbuild/BUILD 5 | .distro/centos7/rpmbuild/BUILDROOT 6 | .distro/centos7/rpmbuild/SOURCES/sysinv-agent*tar.gz 7 | -------------------------------------------------------------------------------- /controllerconfig/.gitignore: -------------------------------------------------------------------------------- 1 | !.distro 2 | .distro/centos7/rpmbuild/RPMS 3 | .distro/centos7/rpmbuild/SRPMS 4 | .distro/centos7/rpmbuild/BUILD 5 | .distro/centos7/rpmbuild/BUILDROOT 6 | .distro/centos7/rpmbuild/SOURCES/controllerconfig*tar.gz 7 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_k8s_upgrades.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | supported_k8s_version: 5 | minimum: 'v1.2.3' 6 | k8s_upgrades: 7 | auto_update: true 8 | timing: pre 9 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_k8s_versions.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | maintain_user_overrides: true 5 | supported_k8s_version: 6 | minimum: 'v1.2.3' 7 | maximum: 'v1.2.4' 8 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/base/kustomization.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | resources: 8 | - helmrepository.yaml 9 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/files/cert-alarm.syslog: -------------------------------------------------------------------------------- 1 | filter f_certalarm { facility(local6) and program(cert-alarm); }; 2 | destination d_certalarm { file("/var/log/cert-alarm.log"); }; 3 | log { source(s_src); filter(f_certalarm); destination(d_certalarm); }; 4 | -------------------------------------------------------------------------------- /sysinv/sysinv/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: sysinv 3 | debver: 1.0 4 | src_path: sysinv 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: f7a90a938191739490aa178d0432babaed1ae0f6 10 | -------------------------------------------------------------------------------- /tsconfig/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: tsconfig 3 | debver: 1.0 4 | src_path: tsconfig 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: 73eb89d8634e1d06ab1dbcf34621fcb1c8b0d344 10 | -------------------------------------------------------------------------------- /config-gate/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: config-gate 3 | debver: 1.0 4 | src_path: files 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: 4d2ba548dcd3916557a73760d58841be3ec6cabd 10 | -------------------------------------------------------------------------------- /sysinv/cert-mon/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: cert-mon 3 | debver: 1.0 4 | src_path: files 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: 63c249b9a154cbcc475368101788a19cd7f312d2 10 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: cert-alarm 3 | debver: 1.0 4 | src_path: files 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: ac8b4e94d799dc1831c7c8dde471a8e3d031898a 10 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: ipsec-auth 3 | debver: 1.0 4 | src_path: files 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: 48e627e4611bd1bbe529bfa4d4b52c812e54a170 10 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/.eggs/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains eggs that were downloaded by setuptools to build, test, and run plug-ins. 2 | 3 | This directory caches those eggs to prevent repeated downloads. 4 | 5 | However, it is safe to delete this directory. 6 | 7 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/dev/drivers.rst: -------------------------------------------------------------------------------- 1 | .. _drivers: 2 | 3 | ================= 4 | Pluggable Drivers 5 | ================= 6 | 7 | .. toctree:: 8 | ../api/sysinv.drivers.base 9 | ../api/sysinv.drivers.fake 10 | ../api/sysinv.drivers.ipmi 11 | -------------------------------------------------------------------------------- /storageconfig/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debver: 1.0 3 | debname: storageconfig 4 | src_path: storageconfig 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: 9b6349246864e367bff0941c30c5fa55e6a9dd34 10 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/requirements.txt: -------------------------------------------------------------------------------- 1 | keyring 2 | oslo.i18n # Apache-2.0 3 | oslo.serialization>=1.10.0,!=2.19.1 # Apache-2.0 4 | oslo.utils>=3.5.0 # Apache-2.0 5 | six>=1.10.0 # MIT 6 | prettytable<0.8,>=0.7.2 # BSD 7 | requests-toolbelt 8 | python-dateutil 9 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/base/namespace.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | apiVersion: v1 8 | kind: Namespace 9 | metadata: 10 | name: test 11 | -------------------------------------------------------------------------------- /workerconfig/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: workerconfig 3 | debver: 1.0 4 | src_path: workerconfig 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: 2b9f8c28c7e3608b2a557909f4ccee529c90fe8a 10 | -------------------------------------------------------------------------------- /sysinv/cgts-client/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: cgts-client 3 | debver: 1.0-1 4 | src_path: cgts-client 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: c06abcda5761d9fa4af23671b93b5fa59136d47a 10 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/agent/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2013-2014 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | 10 | # All Rights Reserved. 11 | # 12 | -------------------------------------------------------------------------------- /tsconfig/tsconfig/requirements.txt: -------------------------------------------------------------------------------- 1 | # The order of packages is significant, because pip processes them in the order 2 | # of appearance. Changing the order has an impact on the overall integration 3 | # process, which may cause wedges in the gate later. 4 | 5 | six>=1.9.0 # MIT 6 | -------------------------------------------------------------------------------- /controllerconfig/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debname: controllerconfig 3 | debver: 1.0 4 | src_path: controllerconfig 5 | revision: 6 | dist: $STX_DIST 7 | PKG_GITREVCOUNT: true 8 | SRC_GITREVCOUNT: 9 | SRC_BASE_SRCREV: 10c4a075f6d21f0561fbe58c468650791db8fc2d 10 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/dev/cmd.rst: -------------------------------------------------------------------------------- 1 | .. _cmd: 2 | 3 | ========================== 4 | List of Installed Commands 5 | ========================== 6 | 7 | .. toctree:: 8 | ../api/sysinv.cmd.api 9 | ../api/sysinv.cmd.dbsync 10 | ../api/sysinv.cmd.conductor 11 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/etc/sysinv/rootwrap.d/sysinv-images.filters: -------------------------------------------------------------------------------- 1 | # sysinv-rootwrap command filters to maniputalte images 2 | # This file should be owned by (and only-writeable by) the root user 3 | 4 | # sysinv/common/images.py: 'qemu-img' 5 | qemu-img: CommandFilter, qemu-img, root 6 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_supported_releases.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | supported_k8s_version: 5 | minimum: 'v1.2.3' 6 | supported_releases: 7 | TEST.SW.VERSION: 8 | - "patch_0001" 9 | - "patch_0002" 10 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/dev/api.rst: -------------------------------------------------------------------------------- 1 | .. _api: 2 | 3 | =========== 4 | Ironic's API Server 5 | =========== 6 | 7 | .. toctree:: 8 | ../api/sysinv.api.config 9 | ../api/sysinv.api.controllers.root 10 | ../api/sysinv.api.controllers.v1 11 | ../api/sysinv.api.hooks 12 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/debian/deb_folder/ipsec-auth.install: -------------------------------------------------------------------------------- 1 | usr/lib/ocf/resource.d/platform/ipsec-config 2 | lib/systemd/system/ipsec-server.service 3 | etc/syslog-ng/conf.d/ipsec-auth.conf 4 | etc/logrotate.d/ipsec-auth.conf 5 | etc/apparmor.d/local/usr.sbin.swanctl 6 | etc/apparmor.d/local/usr.lib.ipsec.charon -------------------------------------------------------------------------------- /sysinv/sysinv/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: sysinv 3 | Version: 1.0 4 | Summary: System Inventory 5 | Home-page: 6 | Author: Windriver 7 | Author-email: info@windriver.com 8 | License: Apache-2.0 9 | 10 | Description: System Inventory 11 | 12 | 13 | Platform: UNKNOWN 14 | -------------------------------------------------------------------------------- /sysinv/cert-mon/files/cert-mon.logrotate: -------------------------------------------------------------------------------- 1 | /var/log/cert-mon.log 2 | { 3 | nodateext 4 | size 10M 5 | start 1 6 | rotate 20 7 | missingok 8 | notifempty 9 | compress 10 | sharedscripts 11 | postrotate 12 | systemctl reload syslog-ng > /dev/null 2>&1 || true 13 | endscript 14 | } 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_upgrades.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | supported_k8s_version: 5 | minimum: 'v1.2.3' 6 | upgrades: 7 | auto_update: true 8 | update_failure_no_rollback: true 9 | from_version: 10 | - 1 11 | - 2 12 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/files/cert-alarm.logrotate: -------------------------------------------------------------------------------- 1 | /var/log/cert-alarm.log 2 | { 3 | nodateext 4 | size 2M 5 | start 1 6 | rotate 20 7 | missingok 8 | notifempty 9 | compress 10 | sharedscripts 11 | postrotate 12 | systemctl reload syslog-ng > /dev/null 2>&1 || true 13 | endscript 14 | } 15 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/files/ipsec-auth.logrotate: -------------------------------------------------------------------------------- 1 | /var/log/ipsec-auth.log 2 | { 3 | nodateext 4 | size 10M 5 | start 1 6 | rotate 20 7 | missingok 8 | notifempty 9 | compress 10 | sharedscripts 11 | postrotate 12 | systemctl reload syslog-ng > /dev/null 2>&1 || true 13 | endscript 14 | } 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/etc/sysinv/motd-system: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Copyright (c) 2013-2014 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # update sysinv MOTD if motd.system content present 9 | 10 | [ -f /etc/sysinv/motd.system ] && cat /etc/sysinv/motd.system || true 11 | -------------------------------------------------------------------------------- /tsconfig/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: tsconfig 3 | Version: 1.0 4 | Summary: Titanium Cloud Config Info 5 | Home-page: 6 | Author: Windriver 7 | Author-email: info@windriver.com 8 | License: Apache-2.0 9 | 10 | Description: Titanium Cloud Config Info 11 | 12 | 13 | Platform: UNKNOWN 14 | -------------------------------------------------------------------------------- /sysinv/cgts-client/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: cgts-client 3 | Version: 1.0 4 | Summary: System Client and CLI 5 | Home-page: 6 | Author: Windriver 7 | Author-email: info@windriver.com 8 | License: Apache-2.0 9 | 10 | Description: System Client and CLI 11 | 12 | 13 | Platform: UNKNOWN 14 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/dev/conductor.rst: -------------------------------------------------------------------------------- 1 | .. _conductor: 2 | 3 | ========================== 4 | Ironic's Conductor Service 5 | ========================== 6 | 7 | .. toctree:: 8 | ../api/sysinv.conductor.manager 9 | ../api/sysinv.conductor.resource_manager 10 | ../api/sysinv.conductor.task_manager 11 | -------------------------------------------------------------------------------- /workerconfig/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: workerconfig 3 | Version: 1.0 4 | Summary: Initial worker node configuration 5 | Home-page: 6 | Author: Windriver 7 | Author-email: info@windriver.com 8 | License: Apache-2.0 9 | 10 | Description: Initial worker node configuration 11 | 12 | 13 | Platform: UNKNOWN 14 | -------------------------------------------------------------------------------- /config-gate/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: config-gate 3 | Version: 1.0 4 | Summary: General config initialization gate 5 | Home-page: 6 | Author: Windriver 7 | Author-email: info@windriver.com 8 | License: Apache-2.0 9 | 10 | Description: General config initialization gate 11 | 12 | 13 | Platform: UNKNOWN 14 | -------------------------------------------------------------------------------- /controllerconfig/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: controllerconfig 3 | Version: 1.0 4 | Summary: Controller Node Configuration 5 | Home-page: 6 | Author: Windriver 7 | Author-email: info@windriver.com 8 | License: Apache-2.0 9 | 10 | Description: Controller node configuration 11 | 12 | 13 | Platform: UNKNOWN 14 | -------------------------------------------------------------------------------- /storageconfig/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: storageconfig 3 | Version: 1.0 4 | Summary: Initial storage node configuration 5 | Home-page: 6 | Author: Windriver 7 | Author-email: info@windriver.com 8 | License: Apache-2.0 9 | 10 | Description: Initial storage node configuration 11 | 12 | 13 | Platform: UNKNOWN 14 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/PKG-INFO: -------------------------------------------------------------------------------- 1 | Metadata-Version: 1.1 2 | Name: sysinv-agent 3 | Version: 1.0 4 | Summary: CGCS Host Inventory Init Package 5 | Home-page: 6 | Author: Windriver 7 | Author-email: info@windriver.com 8 | License: Apache-2.0 9 | 10 | Description: CGCS Host Inventory Init Package 11 | 12 | 13 | Platform: UNKNOWN 14 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_dependent_apps.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | supported_k8s_version: 5 | minimum: 'v1.2.3' 6 | dependent_apps: 7 | - name: app_name_1 8 | version: 25\.09-\d+ 9 | action: warn 10 | - name: app_name_2 11 | version: 25\.09-1 12 | action: apply 13 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/.testr.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | test_command=OS_STDOUT_CAPTURE=1 \ 3 | OS_STDERR_CAPTURE=1 \ 4 | OS_TEST_TIMEOUT=60 \ 5 | ${PYTHON:-python} -m subunit.run discover -t ./ ${OS_TEST_PATH:-./controllerconfig/tests} $LISTOPT $IDOPTION 6 | test_id_option=--load-list $IDFILE 7 | test_list_option=--list 8 | 9 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/dev/db.rst: -------------------------------------------------------------------------------- 1 | .. _db: 2 | 3 | ============ 4 | DB API Layer 5 | ============ 6 | 7 | .. toctree:: 8 | ../api/sysinv.db.api 9 | ../api/sysinv.db.migration 10 | ../api/sysinv.db.models 11 | ../api/sysinv.db.sqlalchemy.api 12 | ../api/sysinv.db.sqlalchemy.migration 13 | ../api/sysinv.db.sqlalchemy.models 14 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/030_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2018 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | 9 | def upgrade(migrate_engine): 10 | pass 11 | 12 | 13 | def downgrade(migration_engine): 14 | pass 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/070_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2018 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | 9 | def upgrade(migrate_engine): 10 | pass 11 | 12 | 13 | def downgrade(migration_engine): 14 | pass 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/099_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2020 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | 9 | def upgrade(migrate_engine): 10 | pass 11 | 12 | 13 | def downgrade(migration_engine): 14 | pass 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/100_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2020 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | 9 | def upgrade(migrate_engine): 10 | pass 11 | 12 | 13 | def downgrade(migration_engine): 14 | pass 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/101_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2020 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | 9 | def upgrade(migrate_engine): 10 | pass 11 | 12 | 13 | def downgrade(migration_engine): 14 | pass 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/102_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2020 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | 9 | def upgrade(migrate_engine): 10 | pass 11 | 12 | 13 | def downgrade(migration_engine): 14 | pass 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/103_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2020 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | 9 | def upgrade(migrate_engine): 10 | pass 11 | 12 | 13 | def downgrade(migration_engine): 14 | pass 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/conductor/data/metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 0.1 4 | 5 | 6 | 0.0 7 | PATCH_0001 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/kustomization.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | apiVersion: kustomize.config.k8s.io/v1beta1 8 | kind: Kustomization 9 | namespace: test-app 10 | resources: 11 | - base 12 | - release1 13 | - release2 14 | - release3 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/doc/source/dev/common.rst: -------------------------------------------------------------------------------- 1 | .. _common: 2 | 3 | ============================ 4 | Common Modules and Utilities 5 | ============================ 6 | 7 | .. toctree:: 8 | ../api/sysinv.common.context 9 | ../api/sysinv.common.exception 10 | ../api/sysinv.common.service 11 | ../api/sysinv.common.states 12 | ../api/sysinv.common.utils 13 | 14 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/db/sqlalchemy/test_migrations.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | # Set up any number of migration data stores you want, one 3 | # The "name" used in the test is the config variable key. 4 | #sqlite=sqlite:///test_migrations.db 5 | sqlite=sqlite:// 6 | #mysql=mysql://root:@localhost/test_migrations 7 | postgresql=postgresql://postgres:postgrespwd@localhost/test_migrations 8 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/openstack-common.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | module=config.generator 3 | module=context 4 | module=flakes 5 | module=install_venv_common 6 | module=local 7 | module=notifier 8 | module=patch_tox_venv 9 | module=periodic_task 10 | module=policy 11 | module=redhat-eventlet.patch 12 | module=rpc 13 | 14 | # The base module to hold the copy of openstack.common 15 | base=sysinv 16 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/meta_data.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | debver: 1.0-1 3 | debname: sysinv-agent 4 | src_path: null 5 | src_files: 6 | - LICENSE 7 | - sysinv-agent 8 | - sysinv-agent.conf 9 | - sysinv-agent.service 10 | revision: 11 | dist: $STX_DIST 12 | GITREVCOUNT: 13 | BASE_SRCREV: e9842965cc316b0ea12eb69b3b1cc68d0082c451 14 | SRC_DIR: ${MY_REPO}/stx/config/sysinv/sysinv-agent 15 | -------------------------------------------------------------------------------- /config-gate/files/worker-config-gate.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=STX worker config gate 3 | After=sw-patch.service workerconfig.service 4 | Before=serial-getty@ttyS0.service getty@tty1.service 5 | 6 | [Service] 7 | Type=oneshot 8 | ExecStart=/usr/sbin/wait_for_worker_config_init.sh 9 | ExecStop= 10 | ExecReload= 11 | RemainAfterExit=yes 12 | 13 | [Install] 14 | WantedBy=multi-user.target 15 | 16 | -------------------------------------------------------------------------------- /tsconfig/tsconfig/setup.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """ 4 | Copyright (c) 2014 Wind River Systems, Inc. 5 | 6 | SPDX-License-Identifier: Apache-2.0 7 | 8 | """ 9 | 10 | import setuptools 11 | 12 | setuptools.setup( 13 | name='tsconfig', 14 | version='1.0.0', 15 | description='tsconfig', 16 | license='Apache-2.0', 17 | packages=['tsconfig'], 18 | entry_points={} 19 | ) 20 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/base/helmrepository.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | apiVersion: source.toolkit.fluxcd.io/v1beta1 8 | kind: HelmRepository 9 | metadata: 10 | name: stx-platform 11 | spec: 12 | url: http://192.168.206.1:8080/helm_charts/stx-platform 13 | interval: 60m 14 | -------------------------------------------------------------------------------- /bindep.txt: -------------------------------------------------------------------------------- 1 | # This is a cross-platform list tracking distribution packages needed for install and tests; 2 | # see https://docs.openstack.org/infra/bindep/ for additional information. 3 | 4 | libffi-dev [platform:dpkg] 5 | libldap2-dev [platform:dpkg] 6 | libxml2-dev [platform:dpkg] 7 | libxslt1-dev [platform:dpkg] 8 | libsasl2-dev [platform:dpkg] 9 | libffi-devel [platform:rpm] 10 | python3-all-dev [platform:dpkg] 11 | -------------------------------------------------------------------------------- /api-ref/source/index.rst: -------------------------------------------------------------------------------- 1 | =========================== 2 | Configuration API Reference 3 | =========================== 4 | 5 | Use the StarlingX Configuration API for system configuration management. 6 | 7 | Search Configuration API content using the :ref:`search page `. 8 | 9 | ------------- 10 | API reference 11 | ------------- 12 | 13 | .. toctree:: 14 | :maxdepth: 2 15 | 16 | api-ref-sysinv-v1-config 17 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/requirements.txt: -------------------------------------------------------------------------------- 1 | # Getting values from https://github.com/openstack/requirements/blob/stable/pike/global-requirements.txt 2 | netaddr>=0.7.13,!=0.7.16 # BSD 3 | keyring>=5.5.1 # MIT/PSF 4 | pyudev # LGPLv2.1+ 5 | six>=1.9.0 # MIT 6 | iso8601>=0.1.11 # MIT 7 | netifaces>=0.10.4 # MIT 8 | pycrypto>=2.6 # Public Domain 9 | oslo.utils>=3.20.0 # Apache-2.0 10 | PyYAML>=3.1.0 11 | psycopg2-binary 12 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/scripts/sysinv-service-restart.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | NAME=$(basename $0) 9 | 10 | function log { 11 | logger -p local1.info $1 12 | } 13 | 14 | log "$NAME: restarting sysinv services" 15 | 16 | sm-restart service sysinv-conductor 17 | sleep 2 18 | pmon-restart sysinv-agent 19 | 20 | exit 0 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/etc/sysinv/rootwrap.d/sysinv-manage-ipmi.filters: -------------------------------------------------------------------------------- 1 | # sysinv-rootwrap command filters for manager nodes 2 | # This file should be owned by (and only-writeable by) the root user 3 | 4 | [Filters] 5 | # sysinv/manager/ipmi.py: 'ipmitool', .. 6 | ipmitool: CommandFilter, /usr/bin/ipmitool, root 7 | 8 | # sysinv/manager/ipmi.py: 'kill', '-TERM', str(console_pid) 9 | kill_shellinaboxd: KillFilter, root, /usr/local/bin/shellinaboxd, -15, -TERM 10 | -------------------------------------------------------------------------------- /config-gate/files/config.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=General StarlingX config gate 3 | After=sw-patch.service 4 | Before=serial-getty@ttyS0.service getty@tty1.service 5 | # Each config service must have a Before statement against config.service, to ensure ordering 6 | 7 | [Service] 8 | Type=oneshot 9 | ExecStart=/usr/sbin/wait_for_config_init.sh 10 | ExecStop= 11 | ExecReload= 12 | RemainAfterExit=yes 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | 17 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/sysinv-agent.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=StarlingX System Inventory Agent 3 | After=nfscommon.service sw-patch.service 4 | After=network-online.target systemd-udev-settle.service 5 | Before=pmon.service 6 | 7 | [Service] 8 | Type=forking 9 | RemainAfterExit=yes 10 | ExecStart=/etc/init.d/sysinv-agent start 11 | ExecStop=/etc/init.d/sysinv-agent stop 12 | PIDFile=/var/run/sysinv-agent.pid 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/sysinv-agent.conf: -------------------------------------------------------------------------------- 1 | [process] 2 | process = sysinv-agent 3 | pidfile = /var/run/sysinv-agent.pid 4 | script = /etc/init.d/sysinv-agent 5 | style = lsb ; ocf or lsb 6 | severity = major ; minor, major, critical 7 | restarts = 3 ; restarts before error assertion 8 | interval = 5 ; number of seconds to wait between restarts 9 | debounce = 20 ; number of seconds to wait before degrade clear 10 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/etc/sysinv/rootwrap.d/sysinv-deploy-helper.filters: -------------------------------------------------------------------------------- 1 | # sysinv-rootwrap command filters for sysinv-deploy-helper 2 | # This file should be owned by (and only-writeable by) the root user 3 | 4 | [Filters] 5 | # sysinv-deploy-helper 6 | iscsiadm: CommandFilter, /sbin/iscsiadm, root 7 | sfdisk: CommandFilter, /sbin/sfdisk, root 8 | dd: CommandFilter, /bin/dd, root 9 | mkswap: CommandFilter, /sbin/mkswap, root 10 | blkid: CommandFilter, /sbin/blkid, root 11 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/loads/test_base.py: -------------------------------------------------------------------------------- 1 | from sysinv.tests import base 2 | from sysinv.loads.base import BaseLoadImport 3 | 4 | 5 | class ConcreteLoadImport(BaseLoadImport): 6 | def extract_files(self, load_version): 7 | return load_version 8 | 9 | 10 | class TestBase(base.TestCase): 11 | def test_class_instance(self): 12 | load_import = ConcreteLoadImport() 13 | 14 | self.assertIsInstance(load_import, BaseLoadImport) 15 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/files/cert-alarm.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Certificate Alarm 3 | After=network-online.target syslog-ng.service config.service 4 | 5 | [Service] 6 | Type=simple 7 | RemainAfterExit=yes 8 | User=root 9 | Environment=OCF_ROOT=/usr/lib/ocf 10 | ExecStart=/usr/lib/ocf/resource.d/platform/cert-alarm start 11 | ExecStop=/usr/lib/ocf/resource.d/platform/cert-alarm stop 12 | PIDFile=/var/run/cert-alarm.pid 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/controllerconfig/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2015-2021 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from controllerconfig.common.exceptions import ConfigError # noqa: F401 8 | from controllerconfig.common.exceptions import ValidateFail # noqa: F401 9 | from controllerconfig.utils import validate_network_str # noqa: F401 10 | from controllerconfig.utils import validate_address_str # noqa: F401 11 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/046_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2017 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow potential migration patches for 16.10 9 | # TiC Release4 (17.x) starts at version 046_.... 10 | 11 | 12 | def upgrade(migrate_engine): 13 | pass 14 | 15 | 16 | def downgrade(migration_engine): 17 | pass 18 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/047_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2017 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow potential migration patches for 16.10 9 | # TiC Release4 (17.x) starts at version 046_.... 10 | 11 | 12 | def upgrade(migrate_engine): 13 | pass 14 | 15 | 16 | def downgrade(migration_engine): 17 | pass 18 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/048_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2017 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow potential migration patches for 16.10 9 | # TiC Release4 (17.x) starts at version 046_.... 10 | 11 | 12 | def upgrade(migrate_engine): 13 | pass 14 | 15 | 16 | def downgrade(migration_engine): 17 | pass 18 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/049_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2017 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow potential migration patches for 16.10 9 | # TiC Release4 (17.x) starts at version 046_.... 10 | 11 | 12 | def upgrade(migrate_engine): 13 | pass 14 | 15 | 16 | def downgrade(migration_engine): 17 | pass 18 | -------------------------------------------------------------------------------- /sysinv/cert-mon/files/cert-mon.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Certificate Monitor 3 | After=network-online.target syslog-ng.service config.service sysinv-api.service 4 | 5 | [Service] 6 | Type=simple 7 | RemainAfterExit=yes 8 | User=root 9 | Environment=OCF_ROOT=/usr/lib/ocf 10 | ExecStart=/usr/lib/ocf/resource.d/platform/cert-mon start 11 | ExecStop=/usr/lib/ocf/resource.d/platform/cert-mon stop 12 | PIDFile=/var/run/cert-mon.pid 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled files 2 | *.py[co] 3 | *.a 4 | *.o 5 | *.so 6 | 7 | # Sphinx 8 | _build 9 | doc/source/api/ 10 | 11 | # Packages/installer info 12 | *.egg 13 | *.egg-info 14 | dist 15 | build 16 | eggs 17 | parts 18 | var 19 | sdist 20 | develop-eggs 21 | .installed.cfg 22 | 23 | # Other 24 | *.DS_Store 25 | .stestr 26 | .testrepository 27 | .tox 28 | .venv 29 | .*.swp 30 | .coverage 31 | bandit.xml 32 | cover 33 | AUTHORS 34 | ChangeLog 35 | *.sqlite 36 | -------------------------------------------------------------------------------- /workerconfig/debian/deb_folder/control: -------------------------------------------------------------------------------- 1 | Source: workerconfig 2 | Section: admin 3 | Priority: optional 4 | Maintainer: Starlingx Developers 5 | Build-Depends: debhelper-compat (= 13) 6 | Standards-Version: 4.4.1 7 | Homepage: https://www.starlingx.io 8 | 9 | Package: workerconfig-standalone 10 | Architecture: all 11 | Depends: ${misc:Depends} 12 | Description: Initial worker node configuration 13 | StarlingX daemon to configure worker nodes. 14 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.a 2 | *.egg* 3 | *.egg-info 4 | *.o 5 | *.py[co] 6 | *.pyc 7 | *.so 8 | *.sqlite 9 | .*.swp 10 | .coverage 11 | .installed.cfg 12 | .stestr 13 | .testrepository 14 | .tox 15 | .venv 16 | AUTHORS 17 | ChangeLog 18 | _build 19 | build 20 | cover 21 | coverage.xml 22 | develop-eggs 23 | dist 24 | eggs 25 | sdist 26 | 27 | # Sphinx documentation 28 | doc/build/ 29 | 30 | # Release Notes documentation 31 | releasenotes/build 32 | 33 | # Api Ref documentation 34 | api-ref/build/ 35 | -------------------------------------------------------------------------------- /storageconfig/debian/deb_folder/control: -------------------------------------------------------------------------------- 1 | Source: storageconfig 2 | Section: admin 3 | Priority: optional 4 | Maintainer: StarlingX Developers 5 | Build-Depends: debhelper-compat (= 13) 6 | Standards-Version: 4.5.1 7 | Homepage: https://www.starlingx.io 8 | Rules-Requires-Root: no 9 | 10 | Package: storageconfig 11 | Architecture: any 12 | Depends: ${misc:Depends} 13 | Description: Storage node configuration 14 | Storage node configuration scripts 15 | -------------------------------------------------------------------------------- /config-gate/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #export DH_VERBOSE = 1 3 | 4 | %: 5 | dh $@ 6 | 7 | override_dh_auto_build: 8 | : # Nothing to build 9 | 10 | override_dh_auto_install: 11 | $(MAKE) SBINDIR=`pwd`/debian/tmp/usr/sbin \ 12 | SYSTEMDDIR=`pwd`/debian/tmp/lib/systemd/system install 13 | 14 | override_dh_installsystemd: 15 | dh_installsystemd -pconfig-gate-worker --no-start worker-config-gate.service 16 | dh_installsystemd -pconfig-gate --no-start config.service 17 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/common/data/sample_metadata_behavior.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: sample-app 3 | app_version: 1.2-3 4 | supported_k8s_version: 5 | minimum: 'v1.2.3' 6 | behavior: 7 | platform_managed_app: true 8 | desired_state: applied 9 | evaluate_reapply: 10 | triggers: 11 | - type: kube-upgrade-complete 12 | filters: 13 | - availability: services-enabled 14 | - type: host-delete 15 | filters: 16 | - personality: controller 17 | -------------------------------------------------------------------------------- /sysinv/sysinv/debian/deb_folder/sysinv-api.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=System Inventory API 3 | After=network-online.target syslog-ng.service config.service sysinv-conductor.service 4 | 5 | [Service] 6 | Type=simple 7 | RemainAfterExit=yes 8 | User=root 9 | Environment=OCF_ROOT=/usr/lib/ocf 10 | ExecStart=/usr/lib/ocf/resource.d/platform/sysinv-api start 11 | ExecStop=/usr/lib/ocf/resource.d/platform/sysinv-api stop 12 | PIDFile=/var/run/sysinv-api.pid 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/scripts/sysinv-api.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=System Inventory API 3 | After=network-online.target syslog-ng.service config.service sysinv-conductor.service 4 | 5 | [Service] 6 | Type=simple 7 | RemainAfterExit=yes 8 | User=root 9 | Environment=OCF_ROOT=/usr/lib/ocf 10 | ExecStart=/usr/lib/ocf/resource.d/platform/sysinv-api start 11 | ExecStop=/usr/lib/ocf/resource.d/platform/sysinv-api stop 12 | PIDFile=/var/run/sysinv-api.pid 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/helm/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2018 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | import yaml 8 | 9 | 10 | class quoted_str(str): 11 | pass 12 | 13 | 14 | # force strings to be single-quoted to avoid interpretation as numeric values 15 | def quoted_presenter(dumper, data): 16 | return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style="'") 17 | 18 | 19 | yaml.add_representer(quoted_str, quoted_presenter) 20 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/puppet/__init__.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2018 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | import yaml 8 | 9 | 10 | class quoted_str(str): 11 | pass 12 | 13 | 14 | # force strings to be single-quoted to avoid interpretation as numeric values 15 | def quoted_presenter(dumper, data): 16 | return dumper.represent_scalar(u'tag:yaml.org,2002:str', data, style="'") 17 | 18 | 19 | yaml.add_representer(quoted_str, quoted_presenter) 20 | -------------------------------------------------------------------------------- /tsconfig/tsconfig/test-requirements.txt: -------------------------------------------------------------------------------- 1 | # The order of packages is significant, because pip processes them in the order 2 | # of appearance. Changing the order has an impact on the overall integration 3 | # process, which may cause wedges in the gate later. 4 | 5 | hacking>=1.1.0,<4.0.1 # Apache-2.0 6 | 7 | coverage!=4.4,>=4.0 # Apache-2.0 8 | mock>=2.0.0 # BSD 9 | stestr>=1.0.0 # Apache-2.0 10 | testtools>=2.2.0 # MIT 11 | pylint<2.1.0;python_version<"3.0" # GPLv2 12 | pylint<2.4.0;python_version>="3.0" # GPLv2 13 | -------------------------------------------------------------------------------- /debian_iso_image.inc: -------------------------------------------------------------------------------- 1 | # List of packages to be included/installed in ISO 2 | 3 | #cert-alarm 4 | cert-alarm 5 | 6 | #cert-mon 7 | cert-mon 8 | 9 | #cgts-client 10 | cgts-client 11 | 12 | #config-gate 13 | config-gate-worker 14 | config-gate 15 | 16 | #controllerconfig 17 | controllerconfig 18 | 19 | #ipsec-auth 20 | ipsec-auth 21 | 22 | #sysinv 23 | sysinv 24 | 25 | #sysinv-agent 26 | sysinv-agent 27 | 28 | storageconfig 29 | 30 | #tsconfig 31 | tsconfig 32 | 33 | #workerconfig 34 | workerconfig-standalone 35 | -------------------------------------------------------------------------------- /controllerconfig/debian/deb_folder/controllerconfig.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=controllerconfig service 3 | After=syslog.target network.target remote-fs.target sw-patch.service sysinv-agent.service 4 | After=network-online.target 5 | Before=config.service 6 | 7 | [Service] 8 | Type=simple 9 | ExecStart=/etc/init.d/controller_config start 10 | ExecStop= 11 | ExecReload= 12 | StandardOutput=journal+console 13 | StandardError=journal+console 14 | RemainAfterExit=yes 15 | 16 | [Install] 17 | WantedBy=multi-user.target 18 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/loads/base.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | import abc 8 | import six 9 | 10 | 11 | @six.add_metaclass(abc.ABCMeta) 12 | class BaseLoadImport(object): 13 | 14 | @abc.abstractmethod 15 | def extract_files(self, load_version): 16 | """Extract files from the importing load. 17 | 18 | :param load_version: A string containing the load version 19 | :returns: None 20 | """ 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release1/kustomization.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | resources: 9 | - helmrelease.yaml 10 | secretGenerator: 11 | - name: release1-static-overrides 12 | files: 13 | - release1-static-overrides.yaml 14 | - name: release1-system-overrides 15 | files: 16 | - release1-system-overrides.yaml 17 | generatorOptions: 18 | disableNameSuffixHash: true 19 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release3/kustomization.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | resources: 9 | - helmrelease.yaml 10 | secretGenerator: 11 | - name: release3-static-overrides 12 | files: 13 | - release3-static-overrides.yaml 14 | - name: release3-system-overrides 15 | files: 16 | - release3-system-overrides.yaml 17 | generatorOptions: 18 | disableNameSuffixHash: true 19 | -------------------------------------------------------------------------------- /CONTRIBUTORS.wrs: -------------------------------------------------------------------------------- 1 | The following contributors from Wind River have developed the seed code in this 2 | repository. We look forward to community collaboration and contributions for 3 | additional features, enhancements and refactoring. 4 | 5 | Contributors: 6 | ============= 7 | Bart Wensley 8 | John Kung 9 | Don Penney 10 | Matt Peters 11 | Tao Liu 12 | David Sullivan 13 | -------------------------------------------------------------------------------- /storageconfig/storageconfig/storageconfig.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=storageconfig service 3 | After=syslog.target network.target remote-fs.target sw-patch.service 4 | After=opt-platform.service sysinv-agent.service 5 | After=network-online.target 6 | Before=config.service 7 | 8 | [Service] 9 | Type=simple 10 | ExecStart=/etc/init.d/storage_config start 11 | ExecStop= 12 | ExecReload= 13 | StandardOutput=syslog+console 14 | StandardError=syslog+console 15 | RemainAfterExit=yes 16 | 17 | [Install] 18 | WantedBy=multi-user.target 19 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/scripts/sysinv-conductor.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=System Inventory Conductor 3 | After=network-online.target syslog-ng.service config.service rabbitmq-server.service 4 | 5 | [Service] 6 | Type=simple 7 | RemainAfterExit=yes 8 | User=root 9 | Environment=OCF_ROOT=/usr/lib/ocf 10 | ExecStart=/usr/lib/ocf/resource.d/platform/sysinv-conductor start 11 | ExecStop=/usr/lib/ocf/resource.d/platform/sysinv-conductor stop 12 | PIDFile=/var/run/sysinv-conductor.pid 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /sysinv/sysinv/debian/deb_folder/sysinv-conductor.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=System Inventory Conductor 3 | After=network-online.target syslog-ng.service config.service rabbitmq-server.service 4 | 5 | [Service] 6 | Type=simple 7 | RemainAfterExit=yes 8 | User=root 9 | Environment=OCF_ROOT=/usr/lib/ocf 10 | ExecStart=/usr/lib/ocf/resource.d/platform/sysinv-conductor start 11 | ExecStop=/usr/lib/ocf/resource.d/platform/sysinv-conductor stop 12 | PIDFile=/var/run/sysinv-conductor.pid 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /storageconfig/debian/deb_folder/storageconfig.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=storageconfig service 3 | After=syslog.target network.target remote-fs.target sw-patch.service 4 | After=opt-platform.service sysinv-agent.service 5 | After=network-online.target 6 | Before=config.service 7 | 8 | [Service] 9 | Type=simple 10 | ExecStart=/etc/init.d/storage_config start 11 | ExecStop= 12 | ExecReload= 13 | StandardOutput=journal+console 14 | StandardError=journal+console 15 | RemainAfterExit=yes 16 | 17 | [Install] 18 | WantedBy=multi-user.target 19 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/deb_folder/control: -------------------------------------------------------------------------------- 1 | Source: sysinv-agent 2 | Section: admin 3 | Priority: optional 4 | Maintainer: StarlingX Developers 5 | Build-Depends: debhelper-compat (= 13) 6 | Standards-Version: 4.5.1 7 | Homepage: https://www.starlingx.io 8 | Rules-Requires-Root: no 9 | 10 | Package: sysinv-agent 11 | Architecture: any 12 | Pre-Depends: ${misc:Pre-Depends} 13 | Depends: ${misc:Depends} 14 | Description: StarlingX Inventory Init Package 15 | StarlingX package for system inventory management 16 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/deb_folder/sysinv-agent.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=StarlingX System Inventory Agent 3 | After=nfscommon.service sw-patch.service 4 | After=network-online.target systemd-udev-settle.service remote-fs.target 5 | Before=pmon.service 6 | 7 | [Service] 8 | Type=forking 9 | RemainAfterExit=yes 10 | ExecStart=/etc/init.d/sysinv-agent start 11 | ExecStop=/etc/init.d/sysinv-agent stop 12 | PIDFile=/var/run/sysinv-agent.pid 13 | 14 | # cgroup engineering 15 | CPUShares=256 16 | 17 | [Install] 18 | WantedBy=multi-user.target 19 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release2/kustomization.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | namespace: test-rls-kust 9 | resources: 10 | - helmrelease.yaml 11 | secretGenerator: 12 | - name: release2-static-overrides 13 | files: 14 | - release2-static-overrides.yaml 15 | - name: release2-system-overrides 16 | files: 17 | - release2-system-overrides.yaml 18 | generatorOptions: 19 | disableNameSuffixHash: true 20 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/scripts/controllerconfig.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=controllerconfig service 3 | After=syslog.target network.target remote-fs.target sw-patch.service sysinv-agent.service 4 | After=network-online.target 5 | After=luks-fs-mgr.service 6 | Before=config.service 7 | 8 | [Service] 9 | Type=simple 10 | ExecStart=/etc/init.d/controller_config start 11 | ExecStop= 12 | ExecReload= 13 | StandardOutput=syslog+console 14 | StandardError=syslog+console 15 | RemainAfterExit=yes 16 | 17 | [Install] 18 | WantedBy=multi-user.target 19 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/debian/deb_folder/control: -------------------------------------------------------------------------------- 1 | Source: ipsec-auth 2 | Section: admin 3 | Priority: optional 4 | Maintainer: Starlingx Developers 5 | Build-Depends: debhelper-compat (= 13) 6 | Standards-Version: 4.5.1 7 | Rules-Requires-Root: no 8 | 9 | Package: ipsec-auth 10 | Architecture: any 11 | Depends: ${shlibs:Depends}, ${misc:Depends}, 12 | Description: Starlingx IPSec Authentication 13 | Manages the StarlingX platform's IPSec Authentication service as a HA 14 | resource, and the client to access the service. 15 | -------------------------------------------------------------------------------- /sysinv/sysinv-agent/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #export DH_VERBOSE=1 3 | 4 | ROOT := $(CURDIR)/debian/tmp 5 | PMONDIR := ${ROOT}/usr/share/starlingx/pmon.d 6 | 7 | %: 8 | dh $@ 9 | 10 | override_dh_install: 11 | install -p -D -m 755 sysinv-agent ${ROOT}/etc/init.d/sysinv-agent 12 | install -p -D -m 644 sysinv-agent.conf ${PMONDIR}/sysinv-agent.conf 13 | dh_install 14 | 15 | override_dh_installinit: 16 | dh_installinit --only-scripts 17 | 18 | override_dh_installsystemd: 19 | dh_installsystemd -psysinv-agent sysinv-agent.service 20 | -------------------------------------------------------------------------------- /sysinv/cert-mon/debian/deb_folder/control: -------------------------------------------------------------------------------- 1 | Source: cert-mon 2 | Section: admin 3 | Priority: optional 4 | Maintainer: Starlingx Developers 5 | Build-Depends: debhelper-compat (= 13) 6 | Standards-Version: 4.5.1 7 | Rules-Requires-Root: no 8 | 9 | Package: cert-mon 10 | Architecture: any 11 | Depends: ${shlibs:Depends}, ${misc:Depends}, 12 | logrotate, 13 | syslog-ng, 14 | stx-ocf-scripts 15 | Description: Starlingx certificate monitor 16 | Manages the StarlingX platform's system certificate monitor process 17 | as a HA resource. 18 | -------------------------------------------------------------------------------- /workerconfig/workerconfig/config_goenabled_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2014 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Configuration "goenabled" check. 9 | # If configuration failed, prevent the node from going enabled. 10 | 11 | NAME=$(basename $0) 12 | VOLATILE_CONFIG_FAIL="/var/run/.config_fail" 13 | 14 | logfile=/var/log/patching.log 15 | 16 | if [ -f $VOLATILE_CONFIG_FAIL ]; then 17 | logger "$NAME: Node configuration has failed. Failing goenabled check." 18 | exit 1 19 | fi 20 | 21 | exit 0 22 | -------------------------------------------------------------------------------- /storageconfig/storageconfig/config_goenabled_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2014 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Configuration "goenabled" check. 9 | # If configuration failed, prevent the node from going enabled. 10 | 11 | NAME=$(basename $0) 12 | VOLATILE_CONFIG_FAIL="/var/run/.config_fail" 13 | 14 | logfile=/var/log/patching.log 15 | 16 | if [ -f $VOLATILE_CONFIG_FAIL ]; then 17 | logger "$NAME: Node configuration has failed. Failing goenabled check." 18 | exit 1 19 | fi 20 | 21 | exit 0 22 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/test-requirements.txt: -------------------------------------------------------------------------------- 1 | # The order of packages is significant, because pip processes them in the order 2 | # of appearance. Changing the order has an impact on the overall integration 3 | # process, which may cause wedges in the gate later. 4 | 5 | hacking>=1.1.0,<=2.0.0 # Apache-2.0 6 | coverage>=3.6 7 | isort<5 8 | mockproc>= 0.3.1 # BSD 9 | os-testr>=0.8.0 # Apache-2.0 10 | pylint<2.4.0 # GPLv2 11 | pytest 12 | PyYAML>=3.10.0 # MIT 13 | stestr>=1.0.0 # Apache-2.0 14 | testresources>=0.2.4 # Apache-2.0/BSD 15 | testrepository>=0.0.18 # Apache-2.0/BSD 16 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/files/ipsec-auth.syslog: -------------------------------------------------------------------------------- 1 | template t_auth { 2 | template("${R_YEAR}-${R_MONTH}-${R_DAY}T${R_HOUR}:${R_MIN}:${R_SEC}.${R_MSEC} ${MSG}\n"); 3 | template-escape(no); 4 | }; 5 | 6 | filter f_ipsecclient { facility(local6) and program(ipsec-client); }; 7 | filter f_ipsecserver { facility(local6) and program(ipsec-server); }; 8 | 9 | destination d_ipsecauth { file("/var/log/ipsec-auth.log" template(t_auth));}; 10 | 11 | log { source(s_src); filter(f_ipsecclient); destination(d_ipsecauth); }; 12 | log { source(s_src); filter(f_ipsecserver); destination(d_ipsecauth); }; 13 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/etc/sysinv/sysinv.conf: -------------------------------------------------------------------------------- 1 | [DEFAULT] 2 | use_stderr=false 3 | #debug=true 4 | #perfomance=true 5 | log_file=sysinv.log 6 | log_dir=/var/log/sysinv 7 | host_unlock_blocking_period=120 8 | 9 | [journal] 10 | #Journal size in GiB 11 | journal_max_size=50 12 | journal_min_size=1 13 | journal_default_size=1 14 | 15 | [database] 16 | connection=postgresql://cgts:cgtspwd@localhost/cgtsdb: 17 | 18 | #RabbitMQ configuration 19 | rpc_backend = sysinv.openstack.common.rpc.impl_kombu 20 | rabbit_host = 192.168.204.3 21 | rabbit_port = 5672 22 | 23 | [lldp] 24 | drivers=lldpd 25 | -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | ====== 2 | config 3 | ====== 4 | The starlingx/config repository handles the StarlingX configuration management 5 | services. 6 | 7 | Its key component is the System Inventory Service (Sysinv), which provides the 8 | system command-line interface (CLI) [1]_. 9 | 10 | This repository is not intended to be developed standalone, but rather as part 11 | of the StarlingX Source System, which is defined by the StarlingX manifest [2]_. 12 | 13 | References 14 | ========== 15 | .. [1] https://docs.starlingx.io/cli_ref/system.html 16 | .. [2] https://opendev.org/starlingx/manifest.git 17 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/scripts/config_goenabled_check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2014 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Configuration "goenabled" check. 9 | # If configuration failed, prevent the node from going enabled. 10 | 11 | NAME=$(basename $0) 12 | VOLATILE_CONFIG_FAIL="/var/run/.config_fail" 13 | 14 | logfile=/var/log/patching.log 15 | 16 | if [ -f $VOLATILE_CONFIG_FAIL ]; then 17 | logger "$NAME: Node configuration has failed. Failing goenabled check." 18 | exit 1 19 | fi 20 | 21 | exit 0 22 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/restore_shell.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # -*- encoding: utf-8 -*- 8 | # 9 | 10 | 11 | def do_restore_start(cc, args): 12 | """Start software restore.""" 13 | 14 | print(cc.restore.start()) 15 | 16 | 17 | def do_restore_show(cc, args): 18 | """Show software restore.""" 19 | 20 | print(cc.restore.get()) 21 | 22 | 23 | def do_restore_complete(cc, args): 24 | """Complete software restore.""" 25 | 26 | print(cc.restore.complete()) 27 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/files/ipsec-server.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=IPSec Authentication Service 3 | After=network-online.target syslog-ng.service sysinv-api.service 4 | 5 | [Service] 6 | Type=simple 7 | RemainAfterExit=yes 8 | User=root 9 | ExecStartPre=/usr/bin/mkdir -p /var/run/ipsec-server 10 | Environment=TMPDIR=/var/run/ipsec-server 11 | ExecStart=/usr/bin/ipsec-server 12 | PIDFile=/var/run/ipsec-server.pid 13 | TimeoutStartSec=10s 14 | 15 | # syscall filtering 16 | SystemCallFilter=@system-service 17 | SystemCallErrorNumber=EPERM 18 | 19 | [Install] 20 | WantedBy=multi-user.target 21 | -------------------------------------------------------------------------------- /tsconfig/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | # See debhelper(7) (uncomment to enable) 3 | # output every command that modifies files on the build system. 4 | #export DH_VERBOSE = 1 5 | 6 | export PYBUILD_NAME=tsconfig 7 | DEBIAN_DESTDIR := $(CURDIR)/debian/tmp 8 | 9 | %: 10 | dh $@ --with python3 --buildsystem=pybuild 11 | 12 | override_dh_install: 13 | python3 setup.py install -f --install-layout=deb \ 14 | --root=${DEBIAN_DESTDIR} 15 | python3 setup.py bdist_wheel \ 16 | --universal \ 17 | -d ${CURDIR}/debian/tsconfig-wheel/usr/share/python-wheels 18 | dh_install 19 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/debian/deb_folder/control: -------------------------------------------------------------------------------- 1 | Source: cert-alarm 2 | Section: admin 3 | Priority: optional 4 | Maintainer: Starlingx Developers 5 | Build-Depends: debhelper-compat (= 13) 6 | Standards-Version: 4.5.1 7 | Rules-Requires-Root: no 8 | 9 | Package: cert-alarm 10 | Architecture: any 11 | Depends: logrotate, 12 | stx-ocf-scripts, 13 | syslog-ng, 14 | ${misc:Depends}, 15 | ${shlibs:Depends} 16 | Description: Starlingx certificate alarm 17 | Manages the StarlingX's platform system certificate alarm 18 | process as a HA resource. 19 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/CONTRIBUTING.rst: -------------------------------------------------------------------------------- 1 | If you would like to contribute to the development of StarlingX, 2 | you must follow the steps in this page: 3 | 4 | https://docs.starlingx.io/contributor/ 5 | 6 | Once those steps have been completed, changes to OpenStack 7 | should be submitted for review via the Gerrit tool, following 8 | the workflow documented at: 9 | 10 | https://docs.openstack.org/infra/manual/developers.html#development-workflow 11 | 12 | Pull requests submitted through GitHub will be ignored. 13 | 14 | Bugs should be filed in Launchpad: 15 | 16 | https://bugs.launchpad.net/starlingx 17 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/conductor/data/metadata_mutual_cyclic_dependency.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: app-a 3 | app_version: 1.0-1 4 | helm_repo: stx-platform 5 | behavior: 6 | platform_managed_app: true 7 | dependent_apps: 8 | - name: app-b 9 | version: 1.0-1 10 | action: apply 11 | supported_k8s_version: 12 | minimum: 1.21.8 13 | --- 14 | app_name: app-b 15 | app_version: 1.0-1 16 | helm_repo: stx-platform 17 | behavior: 18 | platform_managed_app: true 19 | dependent_apps: 20 | - name: app-a 21 | version: 1.0-1 22 | action: apply 23 | supported_k8s_version: 24 | minimum: 1.21.8 25 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/flux.py: -------------------------------------------------------------------------------- 1 | # -*- encoding: utf-8 -*- 2 | # 3 | # Copyright (c) 2025 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from cgtsclient.common import base 9 | 10 | 11 | class FluxManager(base.Manager): 12 | path = '/v1/' 13 | 14 | def upgrade_controllers(self): 15 | _, response = self.api.json_request('UPDATE', f"{self.path}flux/") 16 | return response 17 | 18 | def rollback_controllers(self): 19 | _, response = self.api.json_request('POST', f"{self.path}flux/rollback/") 20 | return response 21 | -------------------------------------------------------------------------------- /storageconfig/storageconfig/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # SPDX-License-Identifier: Apache-2.0 3 | # 4 | # Copyright (C) 2019 Intel Corporation 5 | # 6 | 7 | INITDDIR ?= /etc/init.d/ 8 | GOENABLEDDIR ?= /etc/goenabled.d/ 9 | SYSTEMDDIR ?= /etc/systemd/system/ 10 | 11 | install: 12 | install -d -m 755 $(INITDDIR) 13 | install -p -D -m 700 storage_config $(INITDDIR)/storage_config 14 | install -d -m 755 $(GOENABLEDDIR) 15 | install -p -D -m 755 config_goenabled_check.sh $(GOENABLEDDIR)/config_goenabled_check.sh 16 | install -d -m 755 $(SYSTEMDDIR) 17 | install -p -D -m 664 storageconfig.service $(SYSTEMDDIR)/storageconfig.service 18 | -------------------------------------------------------------------------------- /sysinv/cert-mon/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #export DH_VERBOSE = 1 3 | 4 | ROOT := $(CURDIR)/debian/tmp 5 | 6 | %: 7 | dh $@ 8 | 9 | override_dh_install: 10 | install -m 755 -p -D cert-mon ${ROOT}/usr/lib/ocf/resource.d/platform/cert-mon 11 | install -m 644 -p -D cert-mon.service ${ROOT}/lib/systemd/system/cert-mon.service 12 | install -m 644 -p -D cert-mon.syslog ${ROOT}/etc/syslog-ng/conf.d/cert-mon.conf 13 | install -m 644 -p -D cert-mon.logrotate ${ROOT}/etc/logrotate.d/cert-mon.conf 14 | dh_install 15 | 16 | override_dh_installsystemd: 17 | dh_installsystemd --no-enable cert-mon.service 18 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/003_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/004_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/005_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/006_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/007_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/008_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/009_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/010_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/011_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/012_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/013_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/014_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/015_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/016_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/017_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/018_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/019_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/020_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/021_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/022_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/023_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/024_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/025_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/026_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/027_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/028_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/029_placeholder.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Placeholder to allow upgrades from TS_15.12 9 | # Background: 10 | # Due to support required for upgrades from HP 15.09 to 15.12 11 | # this placeholder is required to ensure version equivalency. 12 | # Release 3 (CGCS_DEV_0016) starts at version 030_.... 13 | 14 | 15 | def upgrade(migrate_engine): 16 | pass 17 | 18 | 19 | def downgrade(migration_engine): 20 | pass 21 | -------------------------------------------------------------------------------- /workerconfig/workerconfig/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # SPDX-License-Identifier: Apache-2.0 3 | # 4 | 5 | INITDDIR ?= /etc/init.d/ 6 | GOENABLEDDIR ?= /etc/goenabled.d/ 7 | SYSTEMDDIR ?= /etc/systemd/system/ 8 | 9 | install: 10 | install -d -m 755 $(INITDDIR) 11 | install -d -m 755 $(GOENABLEDDIR) 12 | install -d -m 755 $(SYSTEMDDIR) 13 | install -d -m 755 $(SYSTEMDDIR)/config 14 | install -p -D -m 700 worker_config $(INITDDIR)/worker_config 15 | install -p -D -m 755 config_goenabled_check.sh $(GOENABLEDDIR)/config_goenabled_check.sh 16 | install -p -D -m 664 workerconfig.service $(SYSTEMDDIR)/config/workerconfig-standalone.service 17 | -------------------------------------------------------------------------------- /config-gate/files/Makefile: -------------------------------------------------------------------------------- 1 | # 2 | # SPDX-License-Identifier: Apache-2.0 3 | # 4 | # Copyright (C) 2019 Intel Corporation 5 | # 6 | 7 | SBINDIR ?= /usr/sbin 8 | SYSTEMDDIR ?= /usr/lib/systemd/system/ 9 | 10 | install: 11 | install -d -m 755 $(SBINDIR) 12 | install -d -m 755 $(SYSTEMDDIR) 13 | install -p -D -m 555 wait_for_config_init.sh $(SBINDIR)/wait_for_config_init.sh 14 | install -p -D -m 555 wait_for_worker_config_init.sh $(SBINDIR)/wait_for_worker_config_init.sh 15 | install -p -D -m 444 config.service $(SYSTEMDDIR)/config.service 16 | install -p -D -m 444 worker-config-gate.service $(SYSTEMDDIR)/worker-config-gate.service 17 | -------------------------------------------------------------------------------- /sysinv/cert-alarm/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #export DH_VERBOSE = 1 3 | 4 | ROOT := $(CURDIR)/debian/tmp 5 | 6 | %: 7 | dh $@ 8 | 9 | override_dh_install: 10 | install -m 755 -p -D cert-alarm ${ROOT}/usr/lib/ocf/resource.d/platform/cert-alarm 11 | install -m 644 -p -D cert-alarm.service ${ROOT}/lib/systemd/system/cert-alarm.service 12 | install -m 644 -p -D cert-alarm.syslog ${ROOT}/etc/syslog-ng/conf.d/cert-alarm.conf 13 | install -m 644 -p -D cert-alarm.logrotate ${ROOT}/etc/logrotate.d/cert-alarm.conf 14 | dh_install 15 | 16 | override_dh_installsystemd: 17 | dh_installsystemd --no-enable cert-alarm.service 18 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/137_add_host_sw_version.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2024 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Column, MetaData, Table 8 | from sqlalchemy import String 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | host_table = Table('i_host', meta, autoload=True) 15 | host_table.create_column(Column('sw_version', String(128))) 16 | 17 | 18 | def downgrade(migrate_engine): 19 | raise NotImplementedError('SysInv database downgrade is unsupported.') 20 | -------------------------------------------------------------------------------- /workerconfig/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #export DH_VERBOSE = 1 3 | 4 | ROOT := $(CURDIR)/debian/tmp 5 | 6 | %: 7 | dh $@ 8 | 9 | override_dh_auto_build: 10 | : # No build required 11 | 12 | override_dh_auto_install: 13 | install -d -m 755 ${ROOT}/etc/init.d 14 | install -p -D -m 700 worker_config ${ROOT}/etc/init.d/worker_config 15 | install -d -m 755 $(ROOT)/etc/goenabled.d/ 16 | install -p -D -m 700 config_goenabled_check.sh $(ROOT)/etc/goenabled.d/config_goenabled_check.sh.worker 17 | 18 | override_dh_installsystemd: 19 | dh_installsystemd -pworkerconfig-standalone --name=workerconfig --no-start workerconfig.service 20 | -------------------------------------------------------------------------------- /workerconfig/workerconfig/workerconfig.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=workerconfig service 3 | After=syslog.target network.service remote-fs.target 4 | After=sw-patch.service 5 | After=affine-platform.sh.service 6 | After=opt-platform.service 7 | After=sysinv-agent.service 8 | After=network-online.target 9 | After=ipsec.service 10 | Before=config.service worker-config-gate.service 11 | Before=goenabled.service 12 | 13 | [Service] 14 | Type=simple 15 | ExecStart=/etc/init.d/worker_config start 16 | ExecStop= 17 | ExecReload= 18 | StandardOutput=syslog+console 19 | StandardError=syslog+console 20 | RemainAfterExit=yes 21 | 22 | [Install] 23 | WantedBy=multi-user.target 24 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/agent/lldp/config.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2018 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | 9 | # All Rights Reserved. 10 | # 11 | 12 | from oslo_config import cfg 13 | from sysinv._i18n import _ 14 | 15 | SYSINV_LLDP_OPTS = [ 16 | cfg.ListOpt('drivers', 17 | default=['lldpd'], 18 | help=_("An ordered list of sysinv LLDP driver " 19 | "entrypoints to be loaded from the " 20 | "sysinv.agent namespace.")), 21 | ] 22 | 23 | cfg.CONF.register_opts(SYSINV_LLDP_OPTS, group="lldp") 24 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/policy.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # The commented lines below contains the default values for presented rules. 3 | 4 | # admin_in_system_projects: role:admin and (project_name:admin or project_name:services) 5 | # reader_in_system_projects: role:reader and (project_name:admin or project_name:services) 6 | 7 | # config_api:service_parameter:add: rule:admin_in_system_projects 8 | # config_api:service_parameter:apply: rule:admin_in_system_projects 9 | # config_api:service_parameter:delete: rule:admin_in_system_projects 10 | # config_api:service_parameter:get: rule:reader_in_system_projects 11 | # config_api:service_parameter:modify: rule:admin_in_system_projects 12 | -------------------------------------------------------------------------------- /sysinv/cgts-client/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #export DH_VERBOSE = 1 3 | 4 | export PYBUILD_NAME=cgts-client 5 | # (chuck) - workaround for pbr version detection when running install 6 | export PBR_VERSION=1.0.0 7 | ROOT := $(CURDIR)/debian/tmp 8 | 9 | %: 10 | dh $@ --with python3 --buildsystem=pybuild 11 | 12 | override_dh_install: 13 | python3 setup.py install -f --install-layout=deb \ 14 | --root=$(CURDIR)/debian/tmp 15 | python3 setup.py bdist_wheel \ 16 | --universal\ 17 | -d $(CURDIR)/debian/cgts-client-wheel/usr/share/python-wheels 18 | install -p -D -m 644 tools/system.bash_completion ${ROOT}/usr/share/bash-completion/completions/system.bash 19 | dh_install 20 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/objects/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 IBM Corp. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 4 | # not use this file except in compliance with the License. You may obtain 5 | # a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 11 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 12 | # License for the specific language governing permissions and limitations 13 | # under the License. 14 | -------------------------------------------------------------------------------- /workerconfig/debian/deb_folder/workerconfig-standalone.workerconfig.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=workerconfig service 3 | After=syslog.target network.service remote-fs.target 4 | After=sw-patch.service 5 | After=affine-platform.sh.service 6 | After=opt-platform.service 7 | After=sysinv-agent.service 8 | After=network-online.target 9 | After=ipsec.service 10 | Before=config.service worker-config-gate.service 11 | Before=goenabled.service 12 | 13 | [Service] 14 | Type=simple 15 | ExecStart=/etc/init.d/worker_config start 16 | ExecStop= 17 | ExecReload= 18 | StandardOutput=syslog+console 19 | StandardError=syslog+console 20 | RemainAfterExit=yes 21 | 22 | [Install] 23 | WantedBy=multi-user.target 24 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/device_image_state.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from cgtsclient.common import base 8 | 9 | 10 | class DeviceImageState(base.Resource): 11 | def __repr__(self): 12 | return "" % self._info 13 | 14 | 15 | class DeviceImageStateManager(base.Manager): 16 | resource_class = DeviceImageState 17 | 18 | @staticmethod 19 | def _path(uuid=None): 20 | return '/v1/device_image_state/%s' % uuid if uuid else '/v1/device_image_state' 21 | 22 | def list(self): 23 | return self._list(self._path(), "device_image_state") 24 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/restore.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # -*- encoding: utf-8 -*- 8 | # 9 | 10 | from cgtsclient.common import base 11 | 12 | 13 | class RestoreManager(base.Manager): 14 | path = '/v1/restore' 15 | 16 | def get(self): 17 | return self._json_get(self.path, {}) 18 | 19 | def start(self): 20 | _, body = self.api.json_request('PATCH', self.path, body={'action': 'start'}) 21 | return body 22 | 23 | def complete(self): 24 | _, body = self.api.json_request('PATCH', self.path, body={'action': 'complete'}) 25 | return body 26 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/088_networktype_remove.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2019 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import MetaData, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | interface = Table('interfaces', meta, autoload=True) 19 | interface.drop_column('networktype') 20 | return True 21 | 22 | 23 | def downgrade(migrate_engine): 24 | raise NotImplementedError('SysInv database downgrade is unsupported.') 25 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/135_nvme_host.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2024 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Column, MetaData, Table 8 | from sqlalchemy import String 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | host_table = Table('i_host', meta, autoload=True) 15 | host_table.create_column(Column('nvme_host_id', String(36))) 16 | host_table.create_column(Column('nvme_host_nqn', String(224))) 17 | 18 | 19 | def downgrade(migrate_engine): 20 | raise NotImplementedError('SysInv database downgrade is unsupported.') 21 | -------------------------------------------------------------------------------- /tsconfig/tsconfig/setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | license_files = LICENSE 3 | name = tsconfig 4 | classifier = 5 | Environment :: OpenStack 6 | Intended Audience :: Information Technology 7 | Intended Audience :: System Administrators 8 | License :: OSI Approved :: Apache Software License 9 | Operating System :: POSIX :: Linux 10 | Programming Language :: Python 11 | Programming Language :: Python :: 2 12 | Programming Language :: Python :: 2.7 13 | Programming Language :: Python :: 3 14 | Programming Language :: Python :: 3.5 15 | 16 | [files] 17 | packages = 18 | tsconfig 19 | 20 | [nosetests] 21 | cover-erase = true 22 | verbosity = 2 23 | 24 | [wheel] 25 | universal = 1 26 | -------------------------------------------------------------------------------- /storageconfig/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #export DH_VERBOSE=1 3 | 4 | PKGDIR := $(CURDIR)/debian/tmp 5 | 6 | export INITDDIR=$(PKGDIR)/etc/init.d 7 | export GOENABLEDDIR=$(PKGDIR)/etc/goenabled.d 8 | 9 | %: 10 | dh $@ 11 | 12 | override_dh_auto_build: 13 | : # No build required 14 | 15 | override_dh_auto_install: 16 | install -d -m 755 ${INITDDIR} 17 | install -p -D -m 700 storage_config ${INITDDIR}/storage_config 18 | install -d -m 755 ${GOENABLEDDIR} 19 | install -p -D -m 700 config_goenabled_check.sh ${GOENABLEDDIR}/config_goenabled_check.sh.storage 20 | 21 | override_dh_installsystemd: 22 | dh_installsystemd -pstorageconfig --name=storageconfig --no-start storageconfig.service 23 | 24 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/124_max_cpu_frequency.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2022 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Column, MetaData, Table 8 | from sqlalchemy import String 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | host_table = Table('i_host', meta, autoload=True) 15 | host_table.create_column(Column('max_cpu_mhz_configured', String(64))) 16 | host_table.create_column(Column('max_cpu_mhz_allowed', String(64))) 17 | 18 | 19 | def downgrade(migrate_engine): 20 | raise NotImplementedError('SysInv database downgrade is unsupported.') 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/128_hwsettle.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Column, MetaData, Table 8 | from sqlalchemy import String 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | migrate_engine.connect() 15 | i_host = Table('i_host', meta, autoload=True) 16 | i_host.create_column(Column('hw_settle', String(4), default="0")) 17 | 18 | 19 | def downgrade(migrate_engine): 20 | meta = MetaData() 21 | meta.bind = migrate_engine 22 | raise NotImplementedError('SysInv databse downgrade is unsupported.') 23 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/test-requirements.txt: -------------------------------------------------------------------------------- 1 | # The order of packages is significant, because pip processes them in the order 2 | # of appearance. Changing the order has an impact on the overall integration 3 | # process, which may cause wedges in the gate later. 4 | hacking>=1.1.0,<=2.0.0 # Apache-2.0 5 | astroid 6 | bandit<1.7.2;python_version>="3.0" 7 | coverage>=3.6 8 | fixtures>=3.0.0 # Apache-2.0/BSD 9 | mock>= 2.0.0,<= 5.1 # BSD 10 | python-subunit>=0.0.18 11 | requests-mock>=0.6.0 # Apache-2.0 12 | sphinx 13 | oslosphinx 14 | oslotest>=3.2.0 # Apache-2.0 15 | stestr>=1.0.0 # Apache-2.0 16 | testrepository>=0.0.18 17 | testtools!=1.2.0,>=0.9.36 18 | isort<5;python_version>="3.0" 19 | pylint 20 | pycryptodomex 21 | pyelftools 22 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/contrib/redhat-eventlet.patch: -------------------------------------------------------------------------------- 1 | --- .nova-venv/lib/python2.6/site-packages/eventlet/green/subprocess.py.orig 2 | 2011-05-25 3 | 23:31:34.597271402 +0000 4 | +++ .nova-venv/lib/python2.6/site-packages/eventlet/green/subprocess.py 5 | 2011-05-25 6 | 23:33:24.055602468 +0000 7 | @@ -32,7 +32,7 @@ 8 | setattr(self, attr, wrapped_pipe) 9 | __init__.__doc__ = subprocess_orig.Popen.__init__.__doc__ 10 | 11 | - def wait(self, check_interval=0.01): 12 | + def wait(self, check_interval=0.01, timeout=None): 13 | # Instead of a blocking OS call, this version of wait() uses logic 14 | # borrowed from the eventlet 0.2 processes.Process.wait() method. 15 | try: 16 | 17 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/126_apparmor.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2022 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Column, MetaData, Table 8 | from sqlalchemy import String 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | migrate_engine.connect() 15 | i_host = Table('i_host', meta, autoload=True) 16 | i_host.create_column(Column('apparmor', String(64), default="disabled")) 17 | 18 | 19 | def downgrade(migrate_engine): 20 | meta = MetaData() 21 | meta.bind = migrate_engine 22 | raise NotImplementedError('SysInv databse downgrade is unsupported.') 23 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/130_min_cpu_frequency_and_cstates.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Column, MetaData, Table 8 | from sqlalchemy import String 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | host_table = Table('i_host', meta, autoload=True) 15 | host_table.create_column(Column('min_cpu_mhz_allowed', String(64))) 16 | host_table.create_column(Column('cstates_available', String(255))) 17 | 18 | 19 | def downgrade(migrate_engine): 20 | raise NotImplementedError('SysInv database downgrade is unsupported.') 21 | -------------------------------------------------------------------------------- /config-gate/debian/deb_folder/control: -------------------------------------------------------------------------------- 1 | Source: config-gate 2 | Section: admin 3 | Priority: optional 4 | Maintainer: StarlingX Developers 5 | Build-Depends: debhelper-compat (= 13) 6 | Standards-Version: 4.5.1 7 | Homepage: https://www.starlingx.io 8 | Rules-Requires-Root: no 9 | 10 | Package: config-gate 11 | Architecture: all 12 | Depends: ${misc:Depends} 13 | Description: Startup worker configuration gate 14 | StarlingX platform general configuration for the initialization gate. 15 | 16 | Package: config-gate-worker 17 | Architecture: all 18 | Depends: ${misc:Depends} 19 | Description: Startup worker configuration gate 20 | StarlingX platform general configuration for the initialization gate. 21 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/MANIFEST.in: -------------------------------------------------------------------------------- 1 | include AUTHORS 2 | include ChangeLog 3 | exclude .gitignore 4 | exclude .gitreview 5 | 6 | global-exclude *.pyc 7 | 8 | # Added the following includes to allow the package to be built from a 9 | # source tree instead of a git repository tarball 10 | include .testr.conf 11 | include CONTRIBUTING.rst 12 | include LICENSE 13 | include README.rst 14 | include babel.cfg 15 | include openstack-common.conf 16 | include requirements.txt 17 | include test-requirements.txt 18 | include tox.ini 19 | include contrib/* 20 | graft doc 21 | graft etc 22 | include sysinv/db/sqlalchemy/migrate_repo/migrate.cfg 23 | include sysinv/openstack/common/config/generator.py 24 | include sysinv/tests/policy.yaml 25 | graft tools 26 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/helm/kustomize_generic.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2022 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | # All Rights Reserved. 7 | # 8 | 9 | """ System inventory Generic FluxCD Kustomize operator.""" 10 | 11 | from sysinv.helm import kustomize_base as base 12 | 13 | 14 | class GenericFluxCDKustomizeOperator(base.FluxCDKustomizeOperator): 15 | 16 | APP = None 17 | 18 | def platform_mode_kustomize_updates(self, dbapi, mode): 19 | """ Update the application kustomization manifests based on the platform 20 | 21 | :param dbapi: DB api object 22 | :param mode: mode to control how to apply the application manifest 23 | """ 24 | pass 25 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/runtime_config.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | # 10 | 11 | from sysinv.db import api as db_api 12 | from sysinv.objects import base 13 | from sysinv.objects import utils 14 | 15 | 16 | class RuntimeConfig(base.SysinvObject): 17 | 18 | dbapi = db_api.get_instance() 19 | 20 | fields = { 21 | 'id': int, 22 | 'config_uuid': utils.str_or_none, 23 | 'config_dict': utils.str_or_none, 24 | 'state': utils.str_or_none, 25 | 'forihostid': utils.int_or_none, 26 | 'reserved_1': utils.str_or_none, 27 | } 28 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/sanity_coverage.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2018-2022 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from coverage import Coverage 8 | import os 9 | import signal 10 | 11 | flag_file = "/etc/coverage/sysinv/flag" 12 | cov = None 13 | 14 | 15 | def signal_handler(signum, frame): 16 | cov.stop() 17 | cov.save() 18 | 19 | 20 | def register_handler(signum=signal.SIGUSR1): 21 | signal.signal(signum, signal_handler) 22 | 23 | 24 | def flag_file_exists(): 25 | return os.path.isfile(flag_file) 26 | 27 | 28 | def start(): 29 | global cov 30 | cov = Coverage(config_file=flag_file) 31 | register_handler() 32 | cov.erase() 33 | cov.start() 34 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/139_add_host_fs_state.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2024 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, String, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | host_fs = Table('host_fs', meta, autoload=True) 19 | host_fs.create_column(Column('state', String(255))) 20 | 21 | 22 | def downgrade(migrate_engine): 23 | # Downgrade is unsupported. 24 | raise NotImplementedError('SysInv database downgrade is unsupported.') 25 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/test-requirements.txt: -------------------------------------------------------------------------------- 1 | # The order of packages is significant, because pip processes them in the order 2 | # of appearance. Changing the order has an impact on the overall integration 3 | # process, which may cause wedges in the gate later. 4 | 5 | # Newer hacking already pins down pep8, pyflakes and flake8 6 | hacking>=1.1.0,<=2.0.0 # Apache-2.0 7 | astroid 8 | coverage!=4.4,>=4.0 # Apache-2.0 9 | fixtures>=3.0.0 # Apache-2.0/BSD 10 | mock>=2.0 # BSD 11 | oslotest>=1.10.0 # Apache-2.0 12 | sphinx>=1.6.2 # BSD 13 | stestr 14 | testscenarios>=0.4 # Apache-2.0/BSD 15 | testtools>=1.4.0 # MIT 16 | testresources>=0.2.4 # Apache-2.0/BSD 17 | flake8-bugbear 18 | httplib2 19 | isort<5 20 | python-keystoneclient 21 | pylint 22 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013-2021 Hewlett-Packard Development Company, L.P. 2 | # All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | # not use this file except in compliance with the License. You may obtain 6 | # a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | # License for the specific language governing permissions and limitations 14 | # under the License. 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/openstack/common/notifier/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011 OpenStack Foundation. 2 | # All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | # not use this file except in compliance with the License. You may obtain 6 | # a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | # License for the specific language governing permissions and limitations 14 | # under the License. 15 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/074_ntp_enabled.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2018 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, Table, Boolean 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | intp_table = Table('i_ntp', meta, autoload=True) 15 | intp_table.create_column(Column('enabled', Boolean, default=True)) 16 | 17 | 18 | def downgrade(migrate_engine): 19 | meta = MetaData() 20 | meta.bind = migrate_engine 21 | 22 | intp_table = Table('i_ntp', meta, autoload=True) 23 | intp_table.drop_column('enabled') 24 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/kube_cmd_version.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2021 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sysinv.db import api as db_api 8 | from sysinv.objects import base 9 | from sysinv.objects import utils 10 | 11 | 12 | class KubeCmdVersion(base.SysinvObject): 13 | 14 | dbapi = db_api.get_instance() 15 | 16 | fields = { 17 | 'kubeadm_version': utils.str_or_none, 18 | 'kubelet_version': utils.str_or_none, 19 | } 20 | 21 | @base.remotable_classmethod 22 | def get(cls, context): 23 | return cls.dbapi.kube_cmd_version_get() 24 | 25 | def save_changes(self, context, updates): 26 | self.dbapi.kube_cmd_version_update(updates) 27 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/db/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2012 NTT DOCOMO, INC. 2 | # All Rights Reserved. 3 | # flake8: noqa 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 6 | # not use this file except in compliance with the License. You may obtain 7 | # a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | # License for the specific language governing permissions and limitations 15 | # under the License. 16 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/123_device_image_bmc.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2021 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Boolean, Column, MetaData, Table 8 | 9 | ENGINE = 'InnoDB' 10 | CHARSET = 'utf8' 11 | 12 | 13 | def upgrade(migrate_engine): 14 | meta = MetaData() 15 | meta.bind = migrate_engine 16 | 17 | dev_img_functional = Table('device_images_functional', meta, autoload=True) 18 | dev_img_functional.create_column(Column('bmc', Boolean, default=False)) 19 | 20 | 21 | def downgrade(migrate_engine): 22 | # Downgrade is unsupported in this release. 23 | raise NotImplementedError('SysInv database downgrade is unsupported.') 24 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/094_sriov_vf_device.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2019 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, String, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | ports = Table('ports', meta, autoload=True) 19 | ports.create_column(Column('sriov_vf_pdevice_id', String(4))) 20 | 21 | 22 | def downgrade(migrate_engine): 23 | # Downgrade is unsupported in this release. 24 | raise NotImplementedError('SysInv database downgrade is unsupported.') 25 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/133_apparmor_config_status.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Column, MetaData, Table 8 | from sqlalchemy import String 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | migrate_engine.connect() 15 | i_host = Table('i_host', meta, autoload=True) 16 | i_host.create_column(Column('apparmor_config_status', String(255), default="config_pending")) 17 | 18 | 19 | def downgrade(migrate_engine): 20 | meta = MetaData() 21 | meta.bind = migrate_engine 22 | raise NotImplementedError('SysInv databse downgrade is unsupported.') 23 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/kube_config_kubelet.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2022 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from cgtsclient.common import base 8 | 9 | 10 | class KubeConfigKubelet(base.Resource): 11 | def __repr__(self): 12 | return "" % self._info 13 | 14 | 15 | class KubeConfigKubeletManager(base.Manager): 16 | resource_class = KubeConfigKubelet 17 | 18 | @staticmethod 19 | def _path(id=None): 20 | return '/v1/kube_config_kubelet/%s' % id if id \ 21 | else '/v1/kube_config_kubelet' 22 | 23 | def apply(self): 24 | path = self._path("apply") 25 | _, body = self.api.json_request('POST', path) 26 | return body 27 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/096_ptp_interface.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2019 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, String, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | interface = Table('interfaces', meta, autoload=True) 19 | interface.create_column(Column('ptp_role', String(255)), default='none') 20 | 21 | 22 | def downgrade(migrate_engine): 23 | # Downgrade is unsupported in this release. 24 | raise NotImplementedError('SysInv database downgrade is unsupported.') 25 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/kube_cmd_version.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2021 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from cgtsclient.common import base 8 | 9 | 10 | class KubeCmdVersion(base.Resource): 11 | def __repr__(self): 12 | return "" % self._info 13 | 14 | 15 | class KubeCmdVersionManager(base.Manager): 16 | resource_class = KubeCmdVersion 17 | 18 | @staticmethod 19 | def _path(): 20 | return '/v1/kube_cmd_versions' 21 | 22 | def get(self): 23 | try: 24 | return self._list(self._path())[0] 25 | except IndexError: 26 | return None 27 | 28 | def update(self, patch): 29 | return self._update(self._path(), patch) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/115_interface_primary_reselect.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2021 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, String, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | ae_interfaces = Table('ae_interfaces', meta, autoload=True) 19 | ae_interfaces.create_column(Column('primary_reselect', String(32))) 20 | 21 | 22 | def downgrade(migrate_engine): 23 | # Downgrade is unsupported in this release. 24 | raise NotImplementedError('SysInv database downgrade is unsupported.') 25 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/db/sqlalchemy/__init__.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | 3 | # Copyright 2012 Cloudscaling Group, Inc 4 | # All Rights Reserved. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 7 | # not use this file except in compliance with the License. You may obtain 8 | # a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | # License for the specific language governing permissions and limitations 16 | # under the License. 17 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2013 Red Hat, Inc. 2 | # All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | # not use this file except in compliance with the License. You may obtain 6 | # a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | # License for the specific language governing permissions and limitations 14 | # under the License. 15 | # 16 | # Copyright (c) 2013-2014 Wind River Systems, Inc. 17 | # 18 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/license.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2017-2019 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # -*- encoding: utf-8 -*- 8 | # 9 | 10 | from cgtsclient.common import base 11 | 12 | 13 | class License(base.Resource): 14 | def __repr__(self): 15 | return "" % self._info 16 | 17 | 18 | class LicenseManager(base.Manager): 19 | @staticmethod 20 | def _path(id=None): 21 | return '/v1/license/%s' % id if id else '/v1/license' 22 | 23 | def show(self): 24 | path = "get_license_file" 25 | return self._json_get(self._path(path)) 26 | 27 | def install_license(self, file): 28 | path = self._path("install_license") 29 | return self._upload(path, file) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/common/__init__.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | 3 | # Copyright 2013 Hewlett-Packard Development Company, L.P. 4 | # All Rights Reserved. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 7 | # not use this file except in compliance with the License. You may obtain 8 | # a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | # License for the specific language governing permissions and limitations 16 | # under the License. 17 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/__init__.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | 3 | # Copyright 2013 Hewlett-Packard Development Company, L.P. 4 | # All Rights Reserved. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 7 | # not use this file except in compliance with the License. You may obtain 8 | # a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | # License for the specific language governing permissions and limitations 16 | # under the License. 17 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/129_kernel_running.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Column, MetaData, Table 8 | from sqlalchemy import String 9 | 10 | 11 | def upgrade(migrate_engine): 12 | meta = MetaData() 13 | meta.bind = migrate_engine 14 | migrate_engine.connect() 15 | i_host = Table('i_host', meta, autoload=True) 16 | i_host.create_column(Column('kernel_running', String(64))) 17 | i_host.create_column(Column('kernel_config_status', String(255))) 18 | 19 | 20 | def downgrade(migrate_engine): 21 | meta = MetaData() 22 | meta.bind = migrate_engine 23 | raise NotImplementedError('SysInv database downgrade is unsupported.') 24 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/api/controllers/v1/flux.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2025 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | import pecan 8 | from pecan import rest 9 | import wsmeext.pecan as wsme_pecan 10 | 11 | 12 | class FluxController(rest.RestController): 13 | """REST controller for Flux-related operations.""" 14 | 15 | _custom_actions = { 16 | 'rollback': ['POST'], 17 | } 18 | 19 | @wsme_pecan.wsexpose(bool) 20 | def update(self): 21 | 22 | return pecan.request.rpcapi.upgrade_flux_controllers( 23 | pecan.request.context) 24 | 25 | @wsme_pecan.wsexpose(bool) 26 | def rollback(self): 27 | 28 | return pecan.request.rpcapi.rollback_flux_controllers( 29 | pecan.request.context) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/080_kube_ceph_pool.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2018 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sqlalchemy import Integer 8 | from sqlalchemy import Column, MetaData, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | i_storconfig = Table('storage_ceph', meta, autoload=True) 19 | i_storconfig.create_column(Column('kube_pool_gib', Integer)) 20 | 21 | 22 | def downgrade(migrate_engine): 23 | meta = MetaData() 24 | meta.bind = migrate_engine 25 | 26 | i_storconfig = Table('storage_ceph', meta, autoload=True) 27 | i_storconfig.drop_column('kube_pool_gib') 28 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/144_iuser_lastchange.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2025 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Integer 9 | from sqlalchemy import Column, MetaData, Table 10 | 11 | 12 | def upgrade(migrate_engine): 13 | meta = MetaData() 14 | meta.bind = migrate_engine 15 | 16 | i_userconfig = Table('i_user', meta, autoload=True) 17 | i_userconfig.create_column(Column('passwd_last_change', Integer)) 18 | 19 | 20 | def downgrade(migrate_engine): 21 | meta = MetaData() 22 | meta.bind = migrate_engine 23 | 24 | i_userconfig = Table('i_user', meta, autoload=True) 25 | i_userconfig.drop_column('passwd_last_change') 26 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/api/__init__.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | 3 | # Copyright 2013 Hewlett-Packard Development Company, L.P. 4 | # All Rights Reserved. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 7 | # not use this file except in compliance with the License. You may obtain 8 | # a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | # License for the specific language governing permissions and limitations 16 | # under the License. 17 | -------------------------------------------------------------------------------- /sysinv/ipsec-auth/debian/deb_folder/rules: -------------------------------------------------------------------------------- 1 | #!/usr/bin/make -f 2 | #export DH_VERBOSE = 1 3 | ROOT := $(CURDIR)/debian/tmp 4 | %: 5 | dh $@ 6 | override_dh_install: 7 | install -m 755 -p -D ipsec-config ${ROOT}/usr/lib/ocf/resource.d/platform/ipsec-config 8 | install -m 644 -p -D ipsec-server.service ${ROOT}/lib/systemd/system/ipsec-server.service 9 | install -m 644 -p -D ipsec-auth.syslog ${ROOT}/etc/syslog-ng/conf.d/ipsec-auth.conf 10 | install -m 644 -p -D ipsec-auth.logrotate ${ROOT}/etc/logrotate.d/ipsec-auth.conf 11 | install -m 644 -p -D usr.sbin.swanctl ${ROOT}/etc/apparmor.d/local/usr.sbin.swanctl 12 | install -m 644 -p -D usr.lib.ipsec.charon ${ROOT}/etc/apparmor.d/local/usr.lib.ipsec.charon 13 | dh_install 14 | override_dh_installsystemd: 15 | dh_installsystemd --no-enable ipsec-server.service 16 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/api/controllers/__init__.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | 3 | # Copyright 2013 Hewlett-Packard Development Company, L.P. 4 | # All Rights Reserved. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 7 | # not use this file except in compliance with the License. You may obtain 8 | # a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | # License for the specific language governing permissions and limitations 16 | # under the License. 17 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/059_system_distributed_cloud_role.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2017 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, Table 9 | from sqlalchemy import String 10 | 11 | 12 | def upgrade(migrate_engine): 13 | meta = MetaData() 14 | meta.bind = migrate_engine 15 | 16 | i_system = Table('i_system', meta, autoload=True) 17 | i_system.create_column(Column('distributed_cloud_role', String(255))) 18 | 19 | 20 | def downgrade(migrate_engine): 21 | # As per other openstack components, downgrade is 22 | # unsupported in this release. 23 | raise NotImplementedError('SysInv database downgrade is unsupported.') 24 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/conductor/__init__.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | 3 | # Copyright 2013 Hewlett-Packard Development Company, L.P. 4 | # All Rights Reserved. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 7 | # not use this file except in compliance with the License. You may obtain 8 | # a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | # License for the specific language governing permissions and limitations 16 | # under the License. 17 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/storage_ceph_rook.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Intel Corporation, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sysinv.db import api as db_api 8 | from sysinv.objects import base 9 | from sysinv.objects import storage_backend 10 | 11 | 12 | class StorageCephRook(storage_backend.StorageBackend): 13 | 14 | dbapi = db_api.get_instance() 15 | 16 | fields = dict({}, **storage_backend.StorageBackend.fields) 17 | 18 | @base.remotable_classmethod 19 | def get_by_uuid(cls, context, uuid): 20 | return cls.dbapi.storage_ceph_rook_get(uuid) 21 | 22 | def save_changes(self, context, updates): 23 | self.dbapi.storage_ceph_rook_update(self.uuid, # pylint: disable=no-member 24 | updates) 25 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/119_device_image_retimer.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2021 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Boolean, Column, MetaData, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | dev_img_functional = Table('device_images_functional', meta, autoload=True) 19 | dev_img_functional.create_column(Column('retimer_included', Boolean, default=False)) 20 | 21 | 22 | def downgrade(migrate_engine): 23 | # Downgrade is unsupported in this release. 24 | raise NotImplementedError('SysInv database downgrade is unsupported.') 25 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/interface_virtual.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2016 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | # 10 | 11 | from sysinv.objects import base 12 | from sysinv.objects import interface_ethernet 13 | 14 | 15 | class VirtualInterface(interface_ethernet.EthernetInterface): 16 | 17 | fields = dict(**interface_ethernet.EthernetInterface.fields) 18 | 19 | @base.remotable_classmethod 20 | def get_by_uuid(cls, context, uuid): 21 | return cls.dbapi.virtual_interface_get(uuid) 22 | 23 | def save_changes(self, context, updates): 24 | self.dbapi.virtual_interface_update(self.uuid, # pylint: disable=no-member 25 | updates) 26 | -------------------------------------------------------------------------------- /config-gate/files/wait_for_worker_config_init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2016-2018 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | # Wait for worker config service 9 | 10 | SERVICE=workerconfig.service 11 | 12 | while :; do 13 | read -r RESULT ACTIVE_STATE SUB_STATE < <( 14 | systemctl show "$SERVICE" -p ActiveState -p SubState -p Result --value | 15 | paste - - - 16 | ) 17 | if [[ "$ACTIVE_STATE" == "inactive" && "$RESULT" == "success" && "$SUB_STATE" == "dead" ]]; then 18 | exit 0 19 | elif [[ "$ACTIVE_STATE" == "active" && "$RESULT" == "success" && "$SUB_STATE" == "exited" ]]; then 20 | exit 0 21 | elif [[ "$ACTIVE_STATE" == "failed" || "$RESULT" == "failed" ]]; then 22 | exit 1 23 | fi 24 | sleep 1 25 | done 26 | 27 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/107_device_vf_attrs.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2020 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, String, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | devices = Table('pci_devices', meta, autoload=True) 19 | devices.create_column(Column('sriov_vf_driver', String(255))) 20 | devices.create_column(Column('sriov_vf_pdevice_id', String(4))) 21 | 22 | 23 | def downgrade(migrate_engine): 24 | # Downgrade is unsupported in this release. 25 | raise NotImplementedError('SysInv database downgrade is unsupported.') 26 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/121_retimer_version.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2021 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, Table, String 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | fpga_devices = Table('fpga_devices', meta, autoload=True) 19 | fpga_devices.create_column(Column('retimer_a_version', String(32))) 20 | fpga_devices.create_column(Column('retimer_b_version', String(32))) 21 | 22 | 23 | def downgrade(migrate_engine): 24 | # Downgrade is unsupported in this release. 25 | raise NotImplementedError('SysInv database downgrade is unsupported.') 26 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/conductor/data/metadata_multiple_dependencies.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: multiple-app-dependency 3 | app_version: 1.0-1 4 | helm_repo: stx-platform 5 | behavior: 6 | plataform_managed_app: true 7 | dependent_apps: 8 | - name: common-dependency-app 9 | version: 1.0-1 10 | action: apply 11 | - name: other-common-dependency-app 12 | version: 1.0-1 13 | action: apply 14 | supported_k8s_version: 15 | minimum: 1.21.8 16 | --- 17 | app_name: common-dependency-app 18 | app_version: 1.0-1 19 | helm_repo: stx-platform 20 | behavior: 21 | plataform_managed_app: true 22 | supported_k8s_version: 23 | minimum: 1.21.8 24 | --- 25 | app_name: other-common-dependency-app 26 | app_version: 1.0-1 27 | helm_repo: stx-platform 28 | behavior: 29 | plataform_managed_app: true 30 | supported_k8s_version: 31 | minimum: 1.21.8 32 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/scripts/check-ipsec-luks-dir.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | FIRST_BOOT="/etc/platform/.first_boot" 4 | LUKS_MOUNT="/var/luks/stx/luks_fs" 5 | SLEEP_INTERVAL=1 6 | 7 | # Exit if the system is in the first boot state 8 | if [ -e "${FIRST_BOOT}" ]; then 9 | echo "First boot detected. Exiting script." 10 | exit 0 11 | fi 12 | 13 | # Check if the mount point is already mounted 14 | if /usr/bin/mountpoint -q "$LUKS_MOUNT"; then 15 | echo "Mount point is already mounted: $LUKS_MOUNT" 16 | exit 0 17 | else 18 | echo "Mount point is not mounted: $LUKS_MOUNT" 19 | fi 20 | 21 | # Loop to wait for the mount point 22 | while ! /usr/bin/mountpoint -q "$LUKS_MOUNT"; do 23 | echo "Waiting for mount point to be mounted: $LUKS_MOUNT" 24 | sleep $SLEEP_INTERVAL 25 | done 26 | 27 | echo "Mount point is now mounted: $LUKS_MOUNT" 28 | exit 0 29 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/083_ceph_mon_tasks.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2019 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, String, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | ceph_mon = Table('ceph_mon', meta, autoload=True) 19 | ceph_mon.create_column(Column('state', String(255))) 20 | ceph_mon.create_column(Column('task', String(255))) 21 | 22 | 23 | def downgrade(migrate_engine): 24 | # As per other openstack components, downgrade is 25 | # unsupported in this release. 26 | raise NotImplementedError('SysInv database downgrade is unsupported.') 27 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/079_network_column_remove.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2018 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import MetaData, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | network = Table('networks', meta, autoload=True) 19 | network.drop_column('mtu') 20 | network.drop_column('link_capacity') 21 | network.drop_column('vlan_id') 22 | return True 23 | 24 | 25 | def downgrade(migrate_engine): 26 | # As per other openstack components, downgrade is 27 | # unsupported in this release. 28 | raise NotImplementedError('SysInv database downgrade is unsupported.') 29 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/_i18n.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2018-2021 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | """oslo.i18n integration module. 8 | 9 | See https://docs.openstack.org/oslo.i18n/latest/user/usage.html 10 | 11 | """ 12 | 13 | import oslo_i18n 14 | 15 | DOMAIN = 'sysinv' 16 | 17 | _translators = oslo_i18n.TranslatorFactory(domain=DOMAIN) 18 | 19 | # The primary translation function using the well-known name "_" 20 | _ = _translators.primary 21 | 22 | # The contextual translation function using the name "_C" 23 | # requires oslo.i18n >=2.1.0 24 | _C = _translators.contextual_form 25 | 26 | # The plural translation function using the name "_P" 27 | # requires oslo.i18n >=2.1.0 28 | _P = _translators.plural_form 29 | 30 | 31 | def get_available_languages(): 32 | return oslo_i18n.get_available_languages(DOMAIN) 33 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/loads/loads.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from oslo_log import log as logging 8 | from stevedore import extension 9 | 10 | 11 | LOG = logging.getLogger(__name__) 12 | 13 | 14 | class LoadImport(object): 15 | @staticmethod 16 | def extract_files(version): 17 | mgr = extension.ExtensionManager( 18 | namespace='systemconfig.loads_plugins', 19 | propagate_map_exceptions=True, 20 | invoke_on_load=True, 21 | invoke_args=() 22 | ) 23 | 24 | for plugin in mgr: 25 | LOG.info("Loaded loads plugin: %s" % plugin.name) 26 | 27 | def extract_files(ext, version): 28 | return (ext.name, ext.obj.extract_files(version)) 29 | 30 | mgr.map(extract_files, version) 31 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/ptp_instance_map.py: -------------------------------------------------------------------------------- 1 | ######################################################################## 2 | # 3 | # Copyright (c) 2021 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | ######################################################################## 8 | 9 | from sysinv.db import api as db_api 10 | from sysinv.objects import base 11 | 12 | 13 | class PtpInstanceMap(base.SysinvObject): 14 | 15 | dbapi = db_api.get_instance() 16 | 17 | fields = { 18 | 'host_id': int, 19 | 'ptp_instance_id': int, 20 | } 21 | 22 | _foreign_fields = { 23 | 'host_id': 'host:id', 24 | 'ptp_instance_id': 'instance:id', 25 | } 26 | 27 | @base.remotable_classmethod 28 | def get_by_uuid(cls, context, uuid): 29 | return cls.dbapi.ptp_instance_map_get(uuid) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/storage_file.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2017 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | # 10 | 11 | from sysinv.db import api as db_api 12 | from sysinv.objects import base 13 | from sysinv.objects import storage_backend 14 | 15 | 16 | class StorageFile(storage_backend.StorageBackend): 17 | 18 | dbapi = db_api.get_instance() 19 | 20 | fields = dict({}, **storage_backend.StorageBackend.fields) 21 | 22 | @base.remotable_classmethod 23 | def get_by_uuid(cls, context, uuid): 24 | return cls.dbapi.storage_file_get(uuid) 25 | 26 | def save_changes(self, context, updates): 27 | self.dbapi.storage_file_update(self.uuid, # pylint: disable=no-member 28 | updates) 29 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/storage_lvm.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2013-2017 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | # 10 | 11 | from sysinv.db import api as db_api 12 | from sysinv.objects import base 13 | from sysinv.objects import storage_backend 14 | 15 | 16 | class StorageLVM(storage_backend.StorageBackend): 17 | 18 | dbapi = db_api.get_instance() 19 | 20 | fields = dict({}, **storage_backend.StorageBackend.fields) 21 | 22 | @base.remotable_classmethod 23 | def get_by_uuid(cls, context, uuid): 24 | return cls.dbapi.storage_lvm_get(uuid) 25 | 26 | def save_changes(self, context, updates): 27 | self.dbapi.storage_lvm_update(self.uuid, # pylint: disable=no-member 28 | updates) 29 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/conductor/data/metadata_indirect_cyclic_dependency.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | app_name: app-a 3 | app_version: 1.0-1 4 | helm_repo: stx-platform 5 | behavior: 6 | platform_managed_app: true 7 | dependent_apps: 8 | - name: app-b 9 | version: 1.0-1 10 | action: apply 11 | supported_k8s_version: 12 | minimum: 1.21.8 13 | --- 14 | app_name: app-b 15 | app_version: 1.0-1 16 | helm_repo: stx-platform 17 | behavior: 18 | platform_managed_app: true 19 | dependent_apps: 20 | - name: app-a 21 | version: 1.0-1 22 | action: apply 23 | supported_k8s_version: 24 | minimum: 1.21.8 25 | --- 26 | app_name: app-c 27 | app_version: 1.0-1 28 | helm_repo: stx-platform 29 | behavior: 30 | platform_managed_app: true 31 | dependent_apps: 32 | - name: app-a 33 | version: 1.0-1 34 | action: apply 35 | supported_k8s_version: 36 | minimum: 1.21.8 37 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/setup.cfg: -------------------------------------------------------------------------------- 1 | [metadata] 2 | name = cgtsclient 3 | summary = Titanium Cloud System Client and CLI 4 | description-file = 5 | README.rst 6 | author = WindRiver 7 | classifier = 8 | Environment :: OpenStack 9 | Intended Audience :: Information Technology 10 | Intended Audience :: System Administrators 11 | License :: windriver 12 | Operating System :: POSIX :: Linux 13 | Programming Language :: Python 14 | Programming Language :: Python :: 2 15 | Programming Language :: Python :: 2.7 16 | 17 | [global] 18 | setup-hooks = 19 | pbr.hooks.setup_hook 20 | 21 | [files] 22 | packages = 23 | cgtsclient 24 | 25 | [entry_points] 26 | console_scripts = 27 | system = cgtsclient.shell:main 28 | 29 | [pbr] 30 | autodoc_index_modules = False 31 | 32 | [egg_info] 33 | tag_build = 34 | tag_date = 0 35 | tag_svn_revision = 0 36 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/138_host_remove_mgmt_ip.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2024 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | from sqlalchemy import Column, MetaData, Table 7 | 8 | ENGINE = 'InnoDB' 9 | CHARSET = 'utf8' 10 | 11 | 12 | def upgrade(migrate_engine): 13 | """ 14 | This database upgrade removes unused attributes 15 | from i_host table. 16 | """ 17 | 18 | meta = MetaData() 19 | meta.bind = migrate_engine 20 | 21 | host_table = Table('i_host', meta, autoload=True) 22 | host_table.drop_column(Column('mgmt_ip')) 23 | 24 | return True 25 | 26 | 27 | def downgrade(migrate_engine): 28 | meta = MetaData() 29 | meta.bind = migrate_engine 30 | 31 | # Downgrade is unsupported. 32 | raise NotImplementedError('SysInv database downgrade is unsupported.') 33 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/142_drop_legacy_upgrade_tables.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2025 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import MetaData, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | host_upgrade = Table('host_upgrade', meta, autoload=True) 19 | host_upgrade.drop() 20 | 21 | software_upgrade = Table('software_upgrade', meta, autoload=True) 22 | software_upgrade.drop() 23 | 24 | loads = Table('loads', meta, autoload=True) 25 | loads.drop() 26 | return True 27 | 28 | 29 | def downgrade(migrate_engine): 30 | raise NotImplementedError('SysInv database downgrade is unsupported.') 31 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/openstack/common/notifier/no_op_notifier.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011 OpenStack Foundation. 2 | # All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | # not use this file except in compliance with the License. You may obtain 6 | # a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | # License for the specific language governing permissions and limitations 14 | # under the License. 15 | 16 | 17 | def notify(_context, message): 18 | """Notifies the recipient of the desired event given the model""" 19 | pass 20 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/etc/sysinv/cgcssys_init: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Copyright (c) 2013-2014 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | sudo -u postgres psql -U postgres template1 -c "CREATE USER admin with PASSWORD 'admin';" 9 | sudo -u postgres psql -U postgres template1 -c "CREATE DATABASE cgtsdb;" 10 | sudo -u postgres psql -U postgres template1 -c "GRANT ALL PRIVILEGES ON DATABASE cgtsdb to admin;" 11 | 12 | #mkdir -p /etc/sysinv 13 | #cat > /etc/sysinv/sysinv.conf << EOF 14 | #[DEFAULT] 15 | #[database] 16 | #connection=postgresql://admin:admin@192.168.204.3/cgtsdb 17 | #EOF 18 | 19 | export OS_USERNAME=admin 20 | export OS_TENANT_NAME=admin 21 | export OS_PASSWORD=7594879b7c1d42f9 22 | export OS_AUTH_URL=http://192.168.204.3:35357/v2.0/ 23 | export CGTS_URL=http://192.168.204.3:6385 24 | 25 | /usr/bin/sysinv-dbsync 26 | /usr/bin/sysinv-api & 27 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/conductor/__init__.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # coding=utf-8 3 | 4 | # Copyright 2013 Hewlett-Packard Development Company, L.P. 5 | # All Rights Reserved. 6 | # 7 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 8 | # not use this file except in compliance with the License. You may obtain 9 | # a copy of the License at 10 | # 11 | # http://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, software 14 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 15 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 16 | # License for the specific language governing permissions and limitations 17 | # under the License. 18 | # 19 | # Copyright (c) 2013-2016 Wind River Systems, Inc. 20 | # 21 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/_i18n.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | """oslo.i18n integration module. 8 | 9 | See https://docs.openstack.org/oslo.i18n/latest/user/usage.html 10 | 11 | """ 12 | 13 | import oslo_i18n 14 | 15 | DOMAIN = 'python-cgtsclient' 16 | 17 | _translators = oslo_i18n.TranslatorFactory(domain=DOMAIN) 18 | 19 | # The primary translation function using the well-known name "_" 20 | _ = _translators.primary 21 | 22 | # The contextual translation function using the name "_C" 23 | # requires oslo.i18n >=2.1.0 24 | _C = _translators.contextual_form 25 | 26 | # The plural translation function using the name "_P" 27 | # requires oslo.i18n >=2.1.0 28 | _P = _translators.plural_form 29 | 30 | 31 | def get_available_languages(): 32 | return oslo_i18n.get_available_languages(DOMAIN) 33 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/storage_external.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2017 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | # 10 | 11 | from sysinv.db import api as db_api 12 | from sysinv.objects import base 13 | from sysinv.objects import storage_backend 14 | 15 | 16 | class StorageExternal(storage_backend.StorageBackend): 17 | 18 | dbapi = db_api.get_instance() 19 | 20 | fields = dict({}, **storage_backend.StorageBackend.fields) 21 | 22 | @base.remotable_classmethod 23 | def get_by_uuid(cls, context, uuid): 24 | return cls.dbapi.storage_external_get(uuid) 25 | 26 | def save_changes(self, context, updates): 27 | self.dbapi.storage_external_update(self.uuid, # pylint: disable=no-member 28 | updates) 29 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/controllerconfig/common/oslolog.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2020 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | 8 | """ 9 | Oslo Logging configuration 10 | """ 11 | 12 | from oslo_config import cfg 13 | from oslo_log import log as logging 14 | from controllerconfig.common import constants 15 | 16 | 17 | def setup_logger(): 18 | """ Setup a logger """ 19 | 20 | # set in cfg what the valid syslog options are 21 | logging.register_options(cfg.CONF) 22 | # Send logs to /var/log/platform.log by overriding defaults 23 | # to use syslog to local1 24 | cfg.CONF.set_override("use_syslog", True) 25 | cfg.CONF.set_override("syslog_log_facility", constants.LOG_LOCAL1) 26 | 27 | logging.setup(cfg.CONF, 'controllerconfig') 28 | 29 | 30 | def configure(): 31 | """ Setup logging """ 32 | setup_logger() 33 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/085_sriov_vf_driver.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2019 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, String, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | interfaces = Table('interfaces', meta, autoload=True) 19 | interfaces.create_column(Column('sriov_vf_driver', String(255))) 20 | 21 | ports = Table('ports', meta, autoload=True) 22 | ports.create_column(Column('sriov_vf_driver', String(255))) 23 | 24 | 25 | def downgrade(migrate_engine): 26 | # Downgrade is unsupported in this release. 27 | raise NotImplementedError('SysInv database downgrade is unsupported.') 28 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/140_add_hostfs_and_controllerfs_capabilities.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2024 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, Text, Table 9 | 10 | ENGINE = 'InnoDB' 11 | CHARSET = 'utf8' 12 | 13 | 14 | def upgrade(migrate_engine): 15 | meta = MetaData() 16 | meta.bind = migrate_engine 17 | 18 | host_fs = Table('host_fs', meta, autoload=True) 19 | host_fs.create_column(Column('capabilities', Text)) 20 | 21 | controller_fs = Table('controller_fs', meta, autoload=True) 22 | controller_fs.create_column(Column('capabilities', Text)) 23 | 24 | 25 | def downgrade(migrate_engine): 26 | # Downgrade is unsupported. 27 | raise NotImplementedError('SysInv database downgrade is unsupported.') 28 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/ptp_interface_map.py: -------------------------------------------------------------------------------- 1 | ######################################################################## 2 | # 3 | # Copyright (c) 2021 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | ######################################################################## 8 | 9 | from sysinv.db import api as db_api 10 | from sysinv.objects import base 11 | 12 | 13 | class PtpInterfaceMap(base.SysinvObject): 14 | 15 | dbapi = db_api.get_instance() 16 | 17 | fields = { 18 | 'interface_id': int, 19 | 'ptp_interface_id': int, 20 | } 21 | 22 | _foreign_fields = { 23 | 'interface_id': 'interface:id', 24 | 'ptp_interface_id': 'ptp_interface:id', 25 | } 26 | 27 | @base.remotable_classmethod 28 | def get_by_uuid(cls, context, uuid): 29 | return cls.dbapi.ptp_interface_map_get(uuid) 30 | -------------------------------------------------------------------------------- /doc/source/index.rst: -------------------------------------------------------------------------------- 1 | =============================== 2 | StarlingX Configuration Project 3 | =============================== 4 | 5 | The starlingx/config project provides system configuration management. 6 | 7 | ------------- 8 | Release notes 9 | ------------- 10 | 11 | .. toctree:: 12 | :maxdepth: 1 13 | 14 | Release notes 15 | 16 | ------------- 17 | API reference 18 | ------------- 19 | 20 | .. toctree:: 21 | :maxdepth: 1 22 | 23 | API reference 24 | 25 | ----- 26 | Links 27 | ----- 28 | 29 | * Source: `starlingx/config`_ 30 | * Code review: `Gerrit`_ 31 | * Project tracking: `Storyboard`_ 32 | 33 | .. _starlingx/config: https://opendev.org/starlingx/config/ 34 | .. _Gerrit: https://review.opendev.org/#/q/project:starlingx/config 35 | .. _Storyboard: https://storyboard.openstack.org/#!/project/starlingx/config 36 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/078_interface_class.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2018 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, Table 9 | from sqlalchemy import String 10 | 11 | ENGINE = 'InnoDB' 12 | CHARSET = 'utf8' 13 | 14 | 15 | def upgrade(migrate_engine): 16 | """Perform sysinv database upgrade for network interface 17 | """ 18 | 19 | meta = MetaData() 20 | meta.bind = migrate_engine 21 | 22 | interface = Table('interfaces', meta, autoload=True) 23 | interface.create_column(Column('ifclass', String(255))) 24 | 25 | 26 | def downgrade(migrate_engine): 27 | # As per other openstack components, downgrade is 28 | # unsupported in this release. 29 | raise NotImplementedError('SysInv database downgrade is unsupported.') 30 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/setup.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2013-2014 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | import setuptools 8 | 9 | 10 | 11 | setuptools.setup( 12 | name='cgtsclient', 13 | description='Titanium Cloud System Client and CLI', 14 | classifiers=[ 15 | 'Environment :: OpenStack', 16 | 'Intended Audience :: Information Technology', 17 | 'Intended Audience :: System Administrators', 18 | 'License :: windriver', 19 | 'Operating System :: POSIX :: Linux', 20 | 'Programming Language :: Python', 21 | 'Programming Language :: Python :: 2', 22 | 'Programming Language :: Python :: 2.7', 23 | 'Programming Language :: Python :: 2.6', 24 | ], 25 | include_package_data=True, 26 | setup_requires=['pbr>=0.5'], 27 | pbr=True, 28 | packages=setuptools.find_packages() 29 | ) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/service.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2016 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from sysinv.db import api as db_api 8 | from sysinv.objects import base 9 | from sysinv.objects import utils 10 | 11 | 12 | class Service(base.SysinvObject): 13 | 14 | dbapi = db_api.get_instance() 15 | 16 | fields = { 17 | 'id': int, 18 | 19 | 'enabled': utils.bool_or_none, 20 | 'name': utils.str_or_none, 21 | 'region_name': utils.str_or_none, 22 | 'capabilities': utils.dict_or_none, 23 | } 24 | 25 | @base.remotable_classmethod 26 | def get_by_service_name(cls, context, name): 27 | return cls.dbapi.service_get(name) 28 | 29 | def save_changes(self, context, updates): 30 | self.dbapi.service_update(self.name, # pylint: disable=no-member 31 | updates) 32 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/agent/lldp_data/1.0.11/lldp_show_neighbor_summary.json: -------------------------------------------------------------------------------- 1 | { 2 | "lldp": [ 3 | { 4 | "interface": [ 5 | { 6 | "name": "enp0s3", 7 | "via": "LLDP", 8 | "chassis": [ 9 | { 10 | "id": [ 11 | { 12 | "type": "mac", 13 | "value": "0a:00:27:00:00:0d" 14 | } 15 | ] 16 | } 17 | ], 18 | "port": [ 19 | { 20 | "id": [ 21 | { 22 | "type": "mac", 23 | "value": "0a:00:27:00:00:0d" 24 | } 25 | ], 26 | "ttl": [ 27 | { 28 | "value": "3601" 29 | } 30 | ] 31 | } 32 | ] 33 | } 34 | ] 35 | } 36 | ] 37 | } 38 | 39 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/kube_config_kubelet_shell.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2022 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # All Rights Reserved. 9 | # 10 | 11 | from cgtsclient import exc 12 | 13 | 14 | def do_kube_config_kubelet(cc, args): 15 | """Apply the kubelet config.""" 16 | 17 | try: 18 | response = cc.kube_config_kubelet.apply() 19 | except exc.HTTPNotFound: 20 | raise exc.CommandError('Failed to apply kubelet config. No response.') 21 | except Exception as e: 22 | raise exc.CommandError('Failed to apply kubelet config: %s' % (e)) 23 | else: 24 | success = response.get('success') 25 | error = response.get('error') 26 | if success: 27 | print("Success: " + success) 28 | if error: 29 | print("Error: " + error) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/kube_app_bundle.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2023 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 7 | # coding=utf-8 8 | # 9 | 10 | from sysinv.db import api as db_api 11 | from sysinv.objects import base 12 | from sysinv.objects import utils 13 | 14 | 15 | class KubeAppBundle(base.SysinvObject): 16 | 17 | dbapi = db_api.get_instance() 18 | 19 | fields = { 20 | 'id': int, 21 | 'name': utils.str_or_none, 22 | 'version': utils.str_or_none, 23 | 'file_path': utils.str_or_none, 24 | 'auto_update': utils.bool_or_none, 25 | 'k8s_auto_update': utils.bool_or_none, 26 | 'k8s_timing': utils.str_or_none, 27 | 'k8s_minimum_version': utils.str_or_none, 28 | 'k8s_maximum_version': utils.str_or_none, 29 | 'reserved': utils.dict_or_none 30 | } 31 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/interface_ethernet.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2013-2016 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | # 10 | 11 | from sysinv.objects import base 12 | from sysinv.objects import utils 13 | from sysinv.objects import interface_base 14 | 15 | 16 | class EthernetInterface(interface_base.InterfaceBase): 17 | 18 | fields = dict({ 19 | 'imtu': utils.int_or_none, 20 | 'imac': utils.str_or_none, 21 | }, **interface_base.InterfaceBase.fields) 22 | 23 | @base.remotable_classmethod 24 | def get_by_uuid(cls, context, uuid): 25 | return cls.dbapi.ethernet_interface_get(uuid) 26 | 27 | def save_changes(self, context, updates): 28 | self.dbapi.ethernet_interface_update(self.uuid, # pylint: disable=no-member 29 | updates) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/tpmconfig.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2017 Wind River Systems, Inc. 2 | # 3 | # SPDX-License-Identifier: Apache-2.0 4 | # 5 | 6 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 7 | # coding=utf-8 8 | # 9 | 10 | from sysinv.db import api as db_api 11 | from sysinv.objects import base 12 | from sysinv.objects import utils 13 | 14 | 15 | class TPMConfig(base.SysinvObject): 16 | # VERSION 1.0: Initial version 17 | VERSION = '1.0' 18 | 19 | dbapi = db_api.get_instance() 20 | 21 | fields = {'uuid': utils.uuid_or_none, 22 | 'tpm_path': utils.str_or_none, 23 | } 24 | 25 | @base.remotable_classmethod 26 | def get_by_uuid(cls, context, uuid): 27 | return cls.dbapi.tpmconfig_get(uuid) 28 | 29 | def save_changes(self, context, updates): 30 | self.dbapi.tpmconfig_update(self.uuid, # pylint: disable=no-member 31 | updates) 32 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/openstack/common/notifier/test_notifier.py: -------------------------------------------------------------------------------- 1 | # Copyright 2011 OpenStack Foundation. 2 | # All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | # not use this file except in compliance with the License. You may obtain 6 | # a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | # License for the specific language governing permissions and limitations 14 | # under the License. 15 | 16 | 17 | NOTIFICATIONS = [] 18 | 19 | 20 | def notify(_context, message): 21 | """Test notifier, stores notifications in memory for unittests.""" 22 | NOTIFICATIONS.append(message) 23 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013 Wind River Systems, Inc. 2 | # All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | # not use this file except in compliance with the License. You may obtain 6 | # a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | # License for the specific language governing permissions and limitations 14 | # under the License. 15 | 16 | try: 17 | import cgtsclient.client 18 | Client = cgtsclient.client.Client 19 | except ImportError: 20 | import warnings 21 | warnings.warn("Could not import cgtsclient.client", ImportWarning) 22 | 23 | __version__ = "1.0.0" 24 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/interface_vlan.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2013-2016 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | # 10 | 11 | from sysinv.objects import base 12 | from sysinv.objects import utils 13 | from sysinv.objects import interface_ethernet 14 | 15 | 16 | class VLANInterface(interface_ethernet.EthernetInterface): 17 | 18 | fields = dict({ 19 | 'vlan_id': utils.int_or_none, 20 | 'vlan_type': utils.str_or_none, 21 | }, **interface_ethernet.EthernetInterface.fields) 22 | 23 | @base.remotable_classmethod 24 | def get_by_uuid(cls, context, uuid): 25 | return cls.dbapi.vlan_interface_get(uuid) 26 | 27 | def save_changes(self, context, updates): 28 | self.dbapi.vlan_interface_update(self.uuid, # pylint: disable=no-member 29 | updates) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/manage.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # -*- encoding: utf-8 -*- 3 | # 4 | # Copyright 2013 Hewlett-Packard Development Company, L.P. 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 7 | # not use this file except in compliance with the License. You may obtain 8 | # a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 14 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 15 | # License for the specific language governing permissions and limitations 16 | # under the License. 17 | 18 | from migrate.versioning.shell import main 19 | 20 | 21 | if __name__ == '__main__': 22 | main(debug='False', repository='.') 23 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/ptp_paramownership.py: -------------------------------------------------------------------------------- 1 | ######################################################################## 2 | # 3 | # Copyright (c) 2021 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | ######################################################################## 8 | 9 | from sysinv.db import api as db_api 10 | from sysinv.objects import base 11 | from sysinv.objects import utils 12 | 13 | 14 | class PtpParameterOwnership(base.SysinvObject): 15 | 16 | dbapi = db_api.get_instance() 17 | 18 | fields = { 19 | 'parameter_uuid': utils.str_or_none, 20 | 'owner_uuid': utils.str_or_none, 21 | } 22 | 23 | _foreign_fields = { 24 | 'parameter_uuid': 'parameter:uuid', 25 | 'owner_uuid': 'owner:uuid' 26 | } 27 | 28 | @base.remotable_classmethod 29 | def get_by_uuid(cls, context, uuid): 30 | return cls.dbapi.ptp_paramownership_get(uuid) 31 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/fake_policy.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | 3 | # Copyright (c) 2012 OpenStack Foundation 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 6 | # not use this file except in compliance with the License. You may obtain 7 | # a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 13 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 14 | # License for the specific language governing permissions and limitations 15 | # under the License. 16 | 17 | 18 | policy_data = """ 19 | --- 20 | admin_api: "role:admin" 21 | admin_or_owner: "is_admin:True or project_id:%(project_id)s" 22 | is_admin: "role:admin or role:administrator" 23 | default: "rule:admin_or_owner" 24 | 25 | """ 26 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/objects/interface_vf.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2019 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 8 | # coding=utf-8 9 | # 10 | 11 | from sysinv.objects import base 12 | from sysinv.objects import utils 13 | from sysinv.objects import interface_ethernet 14 | 15 | 16 | class SriovVFInterface(interface_ethernet.EthernetInterface): 17 | 18 | fields = dict({ 19 | 'sriov_numvfs': utils.int_or_none, 20 | 'sriov_vf_driver': utils.str_or_none, 21 | }, **interface_ethernet.EthernetInterface.fields) 22 | 23 | @base.remotable_classmethod 24 | def get_by_uuid(cls, context, uuid): 25 | return cls.dbapi.sriov_vf_interface_get(uuid) 26 | 27 | def save_changes(self, context, updates): 28 | self.dbapi.sriov_vf_interface_update(self.uuid, # pylint: disable=no-member 29 | updates) 30 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/cmd/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) 2013 Hewlett-Packard Development Company, L.P. 2 | # All Rights Reserved. 3 | # 4 | # Licensed under the Apache License, Version 2.0 (the "License"); you may 5 | # not use this file except in compliance with the License. You may obtain 6 | # a copy of the License at 7 | # 8 | # http://www.apache.org/licenses/LICENSE-2.0 9 | # 10 | # Unless required by applicable law or agreed to in writing, software 11 | # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 | # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 | # License for the specific language governing permissions and limitations 14 | # under the License. 15 | 16 | # TODO(deva): move eventlet imports to sysinv.__init__ once we move to PBR 17 | import os 18 | 19 | os.environ['EVENTLET_NO_GREENDNS'] = 'yes' 20 | 21 | import eventlet 22 | 23 | eventlet.monkey_patch(os=False) 24 | 25 | import sysinv._i18n # noqa 26 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/common/configp.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2015 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | from six.moves import configparser 7 | 8 | 9 | # Configuration Global used by other modules to get access to the configuration 10 | # specified in the config file. 11 | CONFP = dict() 12 | 13 | 14 | class Config(configparser.ConfigParser): 15 | """ 16 | Override ConfigParser class to add dictionary functionality. 17 | """ 18 | def as_dict(self): 19 | d = dict(self._sections) 20 | for key in d: 21 | d[key] = dict(self._defaults, **d[key]) 22 | d[key].pop('__name__', None) 23 | return d 24 | 25 | 26 | def load(config_file): 27 | """ 28 | Load the configuration file into a global CONFP variable. 29 | """ 30 | global CONFP 31 | 32 | if not CONFP: 33 | config = Config() 34 | config.read(config_file) 35 | CONFP = config.as_dict() 36 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/131_kube_upgrade_add_recovery_attempts.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2023 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Column, MetaData, Table, text 9 | from sqlalchemy import Integer 10 | 11 | ENGINE = 'InnoDB' 12 | CHARSET = 'utf8' 13 | 14 | 15 | def upgrade(migrate_engine): 16 | meta = MetaData() 17 | meta.bind = migrate_engine 18 | migrate_engine.connect() 19 | kube_upgrade = Table('kube_upgrade', meta, autoload=True) 20 | kube_upgrade.create_column(Column('recovery_attempts', Integer, 21 | nullable=False, server_default=text("0"))) 22 | 23 | 24 | def downgrade(migrate_engine): 25 | # As per other openstack components, downgrade is 26 | # unsupported in this release. 27 | raise NotImplementedError('SysInv database downgrade is unsupported.') 28 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/tests/helm/fluxcd-test-manifest/release1/helmrelease.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | # 3 | # Copyright (c) 2022 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | apiVersion: "helm.toolkit.fluxcd.io/v2beta1" 9 | kind: HelmRelease 10 | metadata: 11 | name: release1 12 | labels: 13 | chart_group: release1-group 14 | spec: 15 | releaseName: releaseOne 16 | chart: 17 | spec: 18 | chart: chart-a 19 | version: 0.0.1 20 | sourceRef: 21 | kind: HelmRepository 22 | name: stx-platform 23 | interval: 5m 24 | timeout: 30m 25 | test: 26 | enable: false 27 | install: 28 | disableHooks: false 29 | upgrade: 30 | disableHooks: false 31 | valuesFrom: 32 | - kind: Secret 33 | name: release1-static-overrides 34 | valuesKey: release1-static-overrides.yaml 35 | - kind: Secret 36 | name: release1-system-overrides 37 | valuesKey: release1-system-overrides.yaml 38 | -------------------------------------------------------------------------------- /controllerconfig/controllerconfig/setup.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2015-2020 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | from setuptools import setup 7 | from setuptools import find_packages 8 | 9 | setup( 10 | name='controllerconfig', 11 | description='Controller Configuration', 12 | version='1.0.0', 13 | license='Apache-2.0', 14 | platforms=['any'], 15 | provides=['controllerconfig'], 16 | packages=find_packages(), 17 | package_data={}, 18 | include_package_data=False, 19 | entry_points={ 20 | 'console_scripts': [ 21 | 'config_management = controllerconfig.config_management:main', 22 | 'upgrade_controller = controllerconfig.upgrades.controller:main', 23 | 'upgrade_controller_simplex = ' 24 | 'controllerconfig.upgrades.controller:simplex_main', 25 | 'tidy_storage_post_restore = controllerconfig.tidy_storage:main' 26 | ], 27 | } 28 | ) 29 | -------------------------------------------------------------------------------- /sysinv/sysinv/sysinv/sysinv/db/sqlalchemy/migrate_repo/versions/033_iuser_wrsrootpw_aging.py: -------------------------------------------------------------------------------- 1 | # vim: tabstop=4 shiftwidth=4 softtabstop=4 2 | # 3 | # Copyright (c) 2013-2016 Wind River Systems, Inc. 4 | # 5 | # SPDX-License-Identifier: Apache-2.0 6 | # 7 | 8 | from sqlalchemy import Integer, String 9 | from sqlalchemy import Column, MetaData, Table 10 | 11 | ENGINE = 'InnoDB' 12 | CHARSET = 'utf8' 13 | 14 | 15 | def upgrade(migrate_engine): 16 | meta = MetaData() 17 | meta.bind = migrate_engine 18 | 19 | i_userconfig = Table('i_user', meta, autoload=True) 20 | i_userconfig.create_column(Column('passwd_hash', String(255))) 21 | i_userconfig.create_column(Column('passwd_expiry_days', Integer)) 22 | 23 | 24 | def downgrade(migrate_engine): 25 | meta = MetaData() 26 | meta.bind = migrate_engine 27 | 28 | i_userconfig = Table('i_user', meta, autoload=True) 29 | i_userconfig.drop_column('passwd_hash') 30 | i_userconfig.drop_column('passwd_expiry_days') 31 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/fernet.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2018 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | from cgtsclient.common import base 8 | 9 | 10 | class FernetKey(base.Resource): 11 | def __repr__(self): 12 | return "" % self._info 13 | 14 | 15 | class FernetManager(base.Manager): 16 | resource_class = FernetKey 17 | 18 | @staticmethod 19 | def _path(id=None): 20 | return '/v1/fernet_repo/%s' % id if id else '/v1/fernet_repo' 21 | 22 | def list(self): 23 | return self._list(self._path(), "keys") 24 | 25 | def get(self, id): 26 | try: 27 | return self._list(self._path(id))[0] 28 | except IndexError: 29 | return None 30 | 31 | def create(self, data): 32 | return self._create(self._path(), data) 33 | 34 | def put(self, patch, id=None): 35 | return self._update(self._path(id), patch, http_method='PUT') 36 | -------------------------------------------------------------------------------- /sysinv/cgts-client/cgts-client/cgtsclient/v1/lldp_agent.py: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (c) 2016 Wind River Systems, Inc. 3 | # 4 | # SPDX-License-Identifier: Apache-2.0 5 | # 6 | 7 | # -*- encoding: utf-8 -*- 8 | # 9 | 10 | from cgtsclient.common import base 11 | 12 | 13 | class LldpAgent(base.Resource): 14 | def __repr__(self): 15 | return "" % self._info 16 | 17 | 18 | class LldpAgentManager(base.Manager): 19 | resource_class = LldpAgent 20 | 21 | def list(self, ihost_id): 22 | path = '/v1/ihosts/%s/lldp_agents' % ihost_id 23 | agents = self._list(path, "lldp_agents") 24 | return agents 25 | 26 | def get(self, uuid): 27 | path = '/v1/lldp_agents/%s' % uuid 28 | try: 29 | return self._list(path)[0] 30 | except IndexError: 31 | return None 32 | 33 | def get_by_port(self, port_id): 34 | path = '/v1/ports/%s/lldp_agents' % port_id 35 | return self._list(path, "lldp_agents") 36 | --------------------------------------------------------------------------------