{"id":13850783,"url":"https://github.com/rthallisey/clapper","last_synced_at":"2025-03-25T20:32:34.178Z","repository":{"id":43861473,"uuid":"39218737","full_name":"rthallisey/clapper","owner":"rthallisey","description":"Synchronize setup and deployment for the Director.","archived":false,"fork":false,"pushed_at":"2016-12-20T14:49:55.000Z","size":295,"stargazers_count":12,"open_issues_count":5,"forks_count":17,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-20T17:54:14.755Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rthallisey.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-07-16T20:24:08.000Z","updated_at":"2019-01-03T09:07:08.000Z","dependencies_parsed_at":"2022-08-25T22:51:31.880Z","dependency_job_id":null,"html_url":"https://github.com/rthallisey/clapper","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rthallisey%2Fclapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rthallisey%2Fclapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rthallisey%2Fclapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rthallisey%2Fclapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rthallisey","download_url":"https://codeload.github.com/rthallisey/clapper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245540354,"owners_count":20632144,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T21:00:18.447Z","updated_at":"2025-03-25T20:32:33.781Z","avatar_url":"https://github.com/rthallisey.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"This Repository Is Deprecated!\n==============================\n\nThe validations were moved under TripleO to this repository:\n\nhttp://git.openstack.org/cgit/openstack/tripleo-validations/\n\nThe issues and suggestions are tracked on the TripleO launchpad:\n\nhttps://bugs.launchpad.net/tripleo/+bugs\n\nwith the `validations` tag.\n\nThe rest of the Clapper repository is kept here for historical reasons.\n\n\nClapper\n=======\n\nSynchronize setup and deployment for the Director.\n\nAnsible-based Validations\n-------------------------\n\nRecently, we focused on writing automated validations that require\nlittle human setup or interference. These are driven by\n[Ansible](http://ansible.com/) we plan to provide an API that will let\nus use these from the TripleO web UI and command line clients.\n\n### Running a validation\n\nFor now, you need to run them manually. All the validations live in\nthe [ansible-tests/validations](ansible-tests/validations) directory.\n\n**NOTE** We only support Ansible 2.0 and higher.\n\nTo run a validation you need to:\n\n    $ git clone https://github.com/rthallisey/clapper.git\n    $ source ~/stackrc\n    $ cd clapper/ansible-tests\n    $ ls validations  # pick a validation to run\n    $ ansible-playbook -i tripleo-ansible-inventory.py validations/some_validation.yaml\n\n\n\n### Contributing validations or ideas\n\nSubmit an issue or a pull request to this repository. Alternatively,\nyou can email \u003ctsedovic@redhat.com\u003e.\n\nWhen writing a validation, check out our\n[Writing Validations](ansible-tests/writing-validations.md) guide.\n\n\n\nStandalone Tools\n----------------\n\n### Checking `instackenv.json` and `network-environment.yaml`\n\nAfter executing the below command, you can start validation.\n```\nopenstack baremetal import --json instackenv.json\n```\nThe script checks the json file for missing passwords and usernames, it also\nchecks that the MAC addresses contained within the file are unique.\nLastly, it tests connections to bare metal nodes and confirm they are accessible.\n\nThe only argument for instackenv-vaidator.py is -f to input a json file.\nBy default this will search for instackenv.json.\n\nIn order to use the IPMI access checking feature, you’ll need to run the following\ncommand to install ipmitool on the undercloud node:\n\n```\nsudo yum -y install ipmitool\n\n./instackenv-validation.py\n```\n\nThe network-validation.py script takes the network-environment.yaml file which\nwill be used to launch the overcloud as its input and checks for several things:\n- Subnets do not overlap\n- Allocation Pools should be part of the appropriate subnet\n- VLAN IDs are unique per network\n\n```\n./network-validation.py\n```\n\n\n### Overcloud Controller Settings\n\nAfter deploying the overcloud, it is possible to check the controller's\nsettings against current best practices for several configuration file by\nexecuting the `check_overcloud_controller_settings.py` script on it. For\nexample, if your overcloud controller node has IP address 192.0.2.10:\n\n```\nssh heat-admin@192.0.2.10 'python' \u003c ./check_overcloud_controller_settings.py\n```\n\n### Discovery Diff Validation\n\nProvides difference in configuration based on data collected in ironic-inspectorprovides difference in configuration based on data collected in ironic-inspector\n\n#### Steps\n\n- Update the hosts as per guidelines\n- Rename validations/files/env_vars.json.sample to validations/files/env_vars.json\n- Update the configuration to reflect the environment specific values\n- Run the validation\n\n```\nmv validations/files/env_vars.json.sample validations/files/env_vars.json\nvi validations/files/env_vars.json  #update the configuration\nansible-playbook -v -i hosts validations/discovery_diff.yaml\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frthallisey%2Fclapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frthallisey%2Fclapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frthallisey%2Fclapper/lists"}