Please read through the following frequently asked questions encountered when building and troubleshooting your driver.
dataset_id
unique for each volume created?dataset_id
from Flocker given the blockdevice_id
specific to our driver?journactl
and it’s very difficult to track what is happening, is there an easy way to view the logs?dataset_id
unique for each volume created?¶Yes.
dataset_id
from Flocker given the blockdevice_id
specific to our driver?¶No.
No. The only state cached is in the Flocker control agent.
Yes.
flocker.node.agents.testtools.detach_destroy_volumes
can be registered as a cleanup function to cleanup volumes created by the test case.
It is registered for you if you load your API using flocker.node.agents.testtools.get_blockdeviceapi_with_cleanup
.
journactl
and it’s very difficult to track what is happening, is there an easy way to view the logs?¶You can use eliot-prettyprint
or eliot-tree
to filter and format the Flocker log messages.
Both of those commands are Flocker dependencies and they are installed when you install Flocker.
You will find them in your local development environment when you install Flocker using pip
or on any server where the clusterhq-flocker-node
package has been installed; in which case they will be installed in /opt/flocker/bin
.
Start with the Flocker node agent log (/var/log/flocker/flocker-dataset-agent.log
).
You can use eliot-tree to render the log in ASCII format.
Following this, review the storage driver log, then storage backend logs.
Command '['mount', '/dev/sdb', '/flocker/c39e7d1c-7c9e-6029-4c30-42ab8b44a991']' returned non-zero exit status 32
Please run the failed command from the command line prompt - the cause of failure is most likely environment related (incomplete attach/detach operation preceding the command), and not caused by bug in Flocker or Flocker Storage driver.
/root//flocker/flocker-tutorial/bin//python /root/f/flocker/admin/run-acceptance-tests -—provider=managed —-distribution=centos-7 -—config-file=/etc/flocker/acceptancetests.yml
Generating certificates in: /tmp/tmp24HnaK
Created control-172.22.21.75.crt and control-172.22.21.75.key
Copy these files to the directory /etc/flocker on your control service machine.
Rename the files to control-service.crt and control-service.key and set the correct permissions by running chmod 0600 on both files.
Created allison.crt. You can now give it to your API enduser so they can access the control service API.
Created 40d78681-5755-48c6-8e28-c36bf5a485c5.crt. Copy it over to /etc/flocker/node.crt on your node machine and sure to chmod 0600 it.
Created 03e53f5a-894f-44e4-8296-0c319a689179.crt. Copy it over to /etc/flocker/node.crt on your node machine and sure to chmod 0600 it.
Please check that you have configured Flocker CA certs as documented for your specific choice of integration:
Flocker control state is stored in /var/lib/flocker/current_configuration.v1.json
on the control compute node.
You can remove the file to reset the Flocker control service state:
systemctl stop flocker-control rm /var/lib/flocker/current_configuration.v1.json systemctl start flocker-control