:_mod-docs-content-type: CONCEPT [id="comparing-configuration-files-between-deployments_{context}"] = Comparing configuration files between deployments [role="_abstract"] To help you manage the configuration for your {OpenStackPreviousInstaller} and {rhos_prev_long} ({OpenStackShort}) services, you can compare the configuration files between your {OpenStackPreviousInstaller} deployment and the {rhos_long} cloud by using the os-diff tool. ifeval::["{build_variant}" == "ospdo"] [NOTE] Os-diff does not currently support director Operator. endif::[] .Prerequisites * Golang is installed and configured on your environment: + ---- dnf install -y golang-github-openstack-k8s-operators-os-diff ---- .Procedure . Configure the `/etc/os-diff/os-diff.cfg` file and the `/etc/os-diff/ssh.config` file according to your environment. To allow os-diff to connect to your clouds and pull files from the services that you describe in the `config.yaml` file, you must set the following options in the `os-diff.cfg` file: + [source,yaml] [subs=+quotes] ---- [Default] local_config_dir=/tmp/ service_config_file=config.yaml [Tripleo] ssh_cmd=ssh -F ssh.config <1> director_host=standalone <2> container_engine=podman connection=ssh remote_config_path=/tmp/tripleo local_config_path=/tmp/ [Openshift] ocp_local_config_path=/tmp/ocp connection=local ssh_cmd="" ---- + <1> Instructs os-diff to access your {OpenStackPreviousInstaller} host through SSH. The default value is `ssh -F ssh.config`. However, you can set the value without an ssh.config file, for example, `ssh -i /home/user/.ssh/id_rsa stack@my.undercloud.local`. <2> The host to use to access your cloud, and the podman/docker binary is installed and allowed to interact with the running containers. You can leave this key blank. . If you use a host file to connect to your cloud, configure the `ssh.config` file to allow os-diff to access your {OpenStackShort} environment, for example: + [source,yaml] [subs=+quotes] ---- Host * IdentitiesOnly yes Host virthost Hostname virthost IdentityFile ~/.ssh/id_rsa User root StrictHostKeyChecking no UserKnownHostsFile=/dev/null Host standalone Hostname standalone ifeval::["{build}" != "downstream"] IdentityFile ~/install_yamls/out/edpm/ansibleee-ssh-key-id_rsa endif::[] ifeval::["{build}" == "downstream"] IdentityFile endif::[] User root StrictHostKeyChecking no UserKnownHostsFile=/dev/null Host crc Hostname crc IdentityFile ~/.ssh/id_rsa User stack StrictHostKeyChecking no UserKnownHostsFile=/dev/null ---- + * Replace `` with the path to your SSH key. You must provide a value for `IdentityFile` to get full working access to your {OpenStackShort} environment. . If you use an inventory file to connect to your cloud, generate the `ssh.config` file from your Ansible inventory, for example, `tripleo-ansible-inventory.yaml` file: + ---- $ os-diff configure -i tripleo-ansible-inventory.yaml -o ssh.config --yaml ---- .Verification * Test your connection: + ---- $ ssh -F ssh.config standalone ----